Module src.logger
Onionr - Private P2P Communication
This file handles all operations involving logging
Expand source code
'''
    Onionr - Private P2P Communication
    This file handles all operations involving logging
'''
'''
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
'''
import sys, traceback
from . import colors, readline, log, raw, confirm, colors, settings
colors = colors.Colors
readline = readline.readline
log = log.log
raw = raw.raw
confirm = confirm.confirm
# debug: when there is info that could be useful for debugging purposes only
def debug(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_DEBUG):
    if settings.get_level() <= level:
        log('/', data, timestamp = timestamp, prompt = prompt, terminal = terminal)
    if not error is None:
        debug('Error: ' + str(error) + parse_error())
# info: when there is something to notify the user of, such as the success of a process
def info(data: str, timestamp = False, prompt = True, terminal = False, level = settings.LEVEL_INFO):
    if settings.get_level() <= level:
        log('+', data, colors.fg.green, timestamp = timestamp, prompt = prompt, terminal = terminal)
# warn: when there is a potential for something bad to happen
def warn(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_WARN):
    if not error is None:
        debug('Error: ' + str(error) + parse_error())
    if settings.get_level() <= level:
        log('!', data, colors.fg.orange, timestamp = timestamp, prompt = prompt, terminal = terminal)
# error: when only one function, module, or process of the program encountered a problem and must stop
def error(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_ERROR):
    if settings.get_level() <= level:
        log('-', data, colors.fg.red, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
    if not error is None:
        debug('Error: ' + str(error) + parse_error())
# fatal: when the something so bad has happened that the program must stop
def fatal(data: str, error = None, timestamp=True, prompt = True, terminal = False, level = settings.LEVEL_FATAL):
    if not error is None:
        debug('Error: ' + str(error) + parse_error(), terminal = terminal)
    if settings.get_level() <= level:
        log('#', data, colors.bg.red + colors.fg.green + colors.bold, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
# returns a formatted error message
def parse_error():
    details = traceback.extract_tb(sys.exc_info()[2])
    output = ''
    for line in details:
        output += '\n    ... module %s in  %s:%i' % (line[2], line[0], line[1])
    return outputSub-modules
- src.logger.colors
- 
Onionr - Private P2P Communication … 
- src.logger.confirm
- 
Onionr - Private P2P Communication … 
- src.logger.log
- 
Onionr - Private P2P Communication … 
- src.logger.raw
- 
Onionr - Private P2P Communication … 
- src.logger.readline
- 
Onionr - Private P2P Communication … 
- src.logger.settings
- 
Onionr - Private P2P Communication … 
Functions
- def debug(data, error=None, timestamp=True, prompt=True, terminal=False, level=1)
- 
Expand source codedef debug(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_DEBUG): if settings.get_level() <= level: log('/', data, timestamp = timestamp, prompt = prompt, terminal = terminal) if not error is None: debug('Error: ' + str(error) + parse_error())
- def error(data, error=None, timestamp=True, prompt=True, terminal=False, level=4)
- 
Expand source codedef error(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_ERROR): if settings.get_level() <= level: log('-', data, colors.fg.red, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal) if not error is None: debug('Error: ' + str(error) + parse_error())
- def fatal(data, error=None, timestamp=True, prompt=True, terminal=False, level=5)
- 
Expand source codedef fatal(data: str, error = None, timestamp=True, prompt = True, terminal = False, level = settings.LEVEL_FATAL): if not error is None: debug('Error: ' + str(error) + parse_error(), terminal = terminal) if settings.get_level() <= level: log('#', data, colors.bg.red + colors.fg.green + colors.bold, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)
- def info(data, timestamp=False, prompt=True, terminal=False, level=2)
- 
Expand source codedef info(data: str, timestamp = False, prompt = True, terminal = False, level = settings.LEVEL_INFO): if settings.get_level() <= level: log('+', data, colors.fg.green, timestamp = timestamp, prompt = prompt, terminal = terminal)
- def parse_error()
- 
Expand source codedef parse_error(): details = traceback.extract_tb(sys.exc_info()[2]) output = '' for line in details: output += '\n ... module %s in %s:%i' % (line[2], line[0], line[1]) return output
- def warn(data, error=None, timestamp=True, prompt=True, terminal=False, level=3)
- 
Expand source codedef warn(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_WARN): if not error is None: debug('Error: ' + str(error) + parse_error()) if settings.get_level() <= level: log('!', data, colors.fg.orange, timestamp = timestamp, prompt = prompt, terminal = terminal)