Pyjo.Log - Simple logger¶
import Pyjo.Log
# Log to STDERR
log = Pyjo.Log.new()
# Customize log file location and minimum log level
log = Pyjo.Log.new(path='/var/log/pyjo.log', level='warn')
# Log messages
log.debug('Not sure what is happening here')
log.info('FYI: it happened again')
log.warn('This might be a problem')
log.error('Garden variety error')
log.fatal('Boom')
Pyjo.Log
is a simple logger for Pyjo
projects.
Events¶
Pyjo.Log
inherits all events from Pyjo.EventEmitter
and can emit the
following new ones.
message¶
@log.on
def message(log, level, lines):
...
Emitted when a new message gets logged.
log.unsubscribe('message')
@log.on
def message(log, level, lines):
print("{0}: {1}".format(level, "\n".join(lines)))
Classes¶
-
class
Pyjo.Log.
Pyjo_Log
(**kwargs)¶ Pyjo.Log
inherits all attributes and methods fromPyjo.EventEmitter
and implements the following new ones.-
append
(msg)¶ log.append(u"[Thu May 15 17:47:04 2014] [info] I ♥ Pyjoyment\n")
Append message to
handle
.
-
debug
(*lines)¶ log = log.debug('You screwed up, but that is ok') log = log.debug('All', 'cool')
Emit
message
event and log debug message.
-
error
(*lines)¶ log = log.error('You really screwed up this time') log = log.error('Wow', 'seriously')
Emit
message
event and log error message.
-
fatal
(*lines)¶ log = log.fatal('Its over...') log = log.fatal('Bye', 'bye')
Emit
message
event and log fatal message.
-
format
= None¶ cb = log.format log.format = lambda t, level, *lines: ...
A callback for formatting log messages.
def my_format(t, level, *lines): return u"[Thu May 15 17:47:04 2014] [info] I ♥ Mojolicious\n" log.format = my_format
-
handle
= None¶ handle = log.handle log.handle = open('file.log', 'a')
Log filehandle used by default
message
event, defaults to openingpath
orsys.stderr
. Filehandle should accept unicode. Ifsys.stderr
is not inutf-8
mode, then this stream is re-attached to accept unicode.
-
history
= None¶ history = log.history log.history = [[time.time(), 'debug', 'That went wrong']]
The last few logged messages.
-
info
(*lines)¶ log = log.info('You are bad, but you prolly know already') log = log.info('Ok', 'then')
Emit
message
event and log info message.
-
is_debug
¶ boolean = log.is_debug
Check for debug log level.
-
is_error
¶ boolean = log.is_error
Check for error log level.
-
is_info
¶ boolean = log.is_info
Check for info log level.
-
is_warn
¶ boolean = log.is_warn
Check for warn log level.
-
level
= None¶ level = log.level log.level = 'debug'
Active log level, defaults to
debug
. Available log levels aredebug
,info
,warn
,error
andfatal
, in that order. Note that thePYJO_LOG_LEVEL
environment variable can override this value.
-
max_history_size
= None¶ size = log.max_history_size log.max_history_size = 5
Maximum number of logged messages to store in
history
, defaults to10
.
-
warn
(*lines)¶ log = log.warn('Dont do that Dave...') log = log.warn('No', 'really')
Emit
message
event and log warn message.
-