47 lines
1.4 KiB
Python

#!/usr/bin/env/python
# -*- coding: utf-8 -*-
###
### Author: Chris Iatrou (ichrispa@core-vector.net)
### Version: rev 13
###
### This program was created for educational purposes and has been
### contributed to the open62541 project by the author. All licensing
### terms for this source is inherited by the terms and conditions
### specified for by the open62541 project (see the projects readme
### file for more information on the LGPL terms and restrictions).
###
### This program is not meant to be used in a production environment. The
### author is not liable for any complications arising due to the use of
### this program.
###
from __future__ import print_function
import inspect
###
### Tidy logging helpers
###
LOG_LEVEL_DEBUG = 4
LOG_LEVEL_INFO = 2
LOG_LEVEL_WARN = 1
LOG_LEVEL_ERROR = 0
LOG_LEVEL_SILENT = -1
# Change the following to filter logging output
GLOBAL_LOG_LEVEL = LOG_LEVEL_SILENT
def log(callee, logstr, level=LOG_LEVEL_DEBUG):
prefixes = { LOG_LEVEL_DEBUG : "DBG: ",
LOG_LEVEL_INFO : "INF: ",
LOG_LEVEL_WARN : "WRN: ",
LOG_LEVEL_ERROR : "ERR: ",
LOG_LEVEL_SILENT: ""
}
if level <= GLOBAL_LOG_LEVEL:
if prefixes.has_key(level):
print(str(prefixes[level]) + callee.__class__.__name__ + "." + inspect.stack()[1][3] + "(): " + logstr)
else:
print(callee.__class__.__name__ + "." + inspect.stack()[1][3] + "(): " + logstr)