author | Matthew Wild <mwild1@gmail.com> |
Fri, 10 Jul 2009 03:08:38 +0100 | |
changeset 1522 | 569d58d21612 |
parent 272 | c0769fb9af64 |
child 2923 | b7049746bd29 |
permissions | -rw-r--r-- |
1522
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
1 |
-- Prosody IM |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
2 |
-- Copyright (C) 2008-2009 Matthew Wild |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
3 |
-- Copyright (C) 2008-2009 Waqas Hussain |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
4 |
-- |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
5 |
-- This project is MIT/X11 licensed. Please see the |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
6 |
-- COPYING file in the source package for more information. |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
7 |
-- |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
272
diff
changeset
|
8 |
|
272
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
local format = string.format; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 |
local print = print; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
local debug = debug; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
local tostring = tostring; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
|
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
local getstyle, getstring = require "util.termcolours".getstyle, require "util.termcolours".getstring; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
local do_pretty_printing = not os.getenv("WINDIR"); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 |
|
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 |
module "logger" |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 |
|
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 |
local logstyles = {}; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 |
|
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 |
--TODO: This should be done in config, but we don't have proper config yet |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 |
if do_pretty_printing then |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 |
logstyles["info"] = getstyle("bold"); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 |
logstyles["warn"] = getstyle("bold", "yellow"); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 |
logstyles["error"] = getstyle("bold", "red"); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
end |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 |
|
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 |
function init(name) |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 |
--name = nil; -- While this line is not commented, will automatically fill in file/line number info |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 |
return function (level, message, ...) |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 |
if level == "debug" or level == "info" then return; end |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 |
if not name then |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 |
local inf = debug.getinfo(3, 'Snl'); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 |
level = level .. ","..tostring(inf.short_src):match("[^/]*$")..":"..inf.currentline; |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 |
end |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 |
if ... then |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 |
print(name, getstring(logstyles[level], level), format(message, ...)); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 |
else |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 |
print(name, getstring(logstyles[level], level), message); |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 |
end |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 |
end |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 |
end |
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
43 |
|
c0769fb9af64
Add new logger for tests to use
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 |
return _M; |