12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #! /usr/bin/env python3
- #
- # Define standard logging functions
- #
- import sys
- import os
- import time
- # Class of log levels, in increasing level of verbosity
- class LogLevels:
- none, error, warn, info, debug = range(5)
- # default log level
- logLevel = LogLevels.info
- #
- # Helper functions
- #
- def get_progname():
- """Get program name"""
- try:
- progname = os.path.basename(__file__)
- except NameError:
- progname = "no_program_name"
- return progname
- def get_gmt_asc():
- """Return current time as ascii string """
- return(time.asctime(time.gmtime()))
- def format_log_message(message, type):
- """Format a log message"""
- return(get_gmt_asc() + " " + get_progname() + ": " + type + ": " + message + "\n")
- #
- # Logging functions
- #
- def error(message):
- """Print an warrning message"""
- if logLevel >= LogLevels.error:
- sys.stderr.write(format_log_message(message, "error"))
- def warn(message):
- """Print an warrning message"""
- if logLevel >= LogLevels.warn:
- sys.stderr.write(format_log_message(message, "warning"))
- def info(message):
- """Print an info message"""
- if logLevel >= LogLevels.info:
- sys.stdout.write(format_log_message(message, "info"))
- def debug(message):
- """Print an warrning message"""
- if logLevel >= LogLevels.debug:
- sys.stderr.write(format_log_message(message, "debug"))
- def main():
- info("This is an info message")
- warn("This is a warning message")
- error("This is an error message")
- debug("This is an debug message")
- #main()
|