public LogManager() {

        if(BotrickConfig.get("log_channel_messages") != null)
            log_channel_messages = BotrickConfig.get("log_channel_messages").equalsIgnoreCase("true") || BotrickConfig.get("log_channel_messages").equalsIgnoreCase("y");
        if(BotrickConfig.get("separate_channel_logs") != null)
            separate_channel_logs = BotrickConfig.get("separate_channel_logs").equalsIgnoreCase("true") || BotrickConfig.get("separate_channel_logs").equalsIgnoreCase("y");
        if(BotrickConfig.get("log_filename_format") != null)
            log_filename_format = BotrickConfig.get("log_filename_format");
        if(BotrickConfig.get("log_max_days_logged") != null) {
            try {
                log_max_days_logged = Integer.parseInt(BotrickConfig.get("log_max_days_logged"));
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }
        }


        // Initialize the hashmap for storing channel logs
        history = new ConcurrentHashMap<String, StringBuffer>();

        // Start up a timer to go through the logs to save to a file
        new Thread(new Runnable() {
            @Override
            public void run() {

                while(true) {

                    BotUtils.sleep(5000);

                    parseLogs();
                }
            }
        }).start();

        // This timer will clean the old logs
        new Thread(new Runnable() {
            @Override
            public void run() {
                while(true) {

                    BotUtils.sleep(24*60*1000);

                    purgeLogs();
                }
            }
        }).start();

        write(LogEntry.SELF, "Started logging - "
                + com.sigmatauproductions.botrick.Botrick.VERSION_INFO);
    }