X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=core%2Floggingmanager.lua;h=4154e1a7b3131656091ae2e6376c553fde185a4b;hb=4341e61cc1ca8384a0ca18bad7f8f8f3f1c894b0;hp=aa8f368d73e2fe962074974ba6378191b02d1531;hpb=335382d4a956415a3d902d06b89e371ea7881ced;p=prosody.git diff --git a/core/loggingmanager.lua b/core/loggingmanager.lua index aa8f368d..4154e1a7 100644 --- a/core/loggingmanager.lua +++ b/core/loggingmanager.lua @@ -1,3 +1,11 @@ +-- Prosody IM +-- Copyright (C) 2008-2009 Matthew Wild +-- Copyright (C) 2008-2009 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- + local format, rep = string.format, string.rep; local pcall = pcall; @@ -9,9 +17,16 @@ local math_max, rep = math.max, string.rep; local os_date, os_getenv = os.date, os.getenv; local getstyle, getstring = require "util.termcolours".getstyle, require "util.termcolours".getstring; +if os.getenv("__FLUSH_LOG") then + local io_flush = io.flush; + local _io_write = io_write; + io_write = function(...) _io_write(...); io_flush(); end +end + local config = require "core.configmanager"; local eventmanager = require "core.eventmanager"; local logger = require "util.logger"; +local debug_mode = config.get("*", "core", "debug"); _G.log = logger.init("general"); @@ -19,7 +34,7 @@ module "loggingmanager" -- The log config used if none specified in the config file local default_logging = { { to = "console" } }; -local default_file_logging = { { to = "file", levels = { min = "info" } } }; +local default_file_logging = { { to = "file", levels = { min = (debug_mode and "debug") or "info" }, timestamps = true } }; local default_timestamp = "%b %d %T"; -- The actual config loggingmanager is using local logging_config = config.get("*", "core", "log") or default_logging; @@ -178,6 +193,7 @@ do return function (name, level, message, ...) sourcewidth = math_max(#name+2, sourcewidth); local namelen = #name; + if timestamps then io_write(os_date(timestamps), " "); end @@ -213,7 +229,7 @@ function log_sink_types.file(config) local timestamps = config.timestamps; - if timestamps == true then + if timestamps == nil or timestamps == true then timestamps = default_timestamp; -- Default format end