Skip to main content

Logging Utilities

Project description

Overview

Log Management

Installation

The package ka_uts_log can be installed from PyPI or Anaconda.

To install with pip:

$ python -m pip install ka_uts_log

To install with conda:

$ conda install -c conda-forge ka_uts_log

Package logging

c.f.: Appendix: Package Logging

Package files

Classification

The Files of Package ka_uts_log could be classified into the follwing file types:

  1. Special files; c.f.: Appendix: Python package Sub-directoriess

    1. py.typed

  2. Special package modules

    1. __init__.py; c.f.: Appendix: Python package Sub-directoriess

    2. __version__.py

  3. Package modules

    1. log.py

  4. Sub-packages

    1. data

      1. Special package modules

        1. __init__.py

      2. Yaml files

      1. log.std.yml

      2. log.usr.yml

      1. __pycache__

Data Files

Overview

Data Files

Name

Description

log.std.yml

Yaml definition file for standard logging

log.usr.yml

Yaml definition file for user logging

Package Files

Classification

The Modules of Package ka_uts_log could be classified into the following module types:

  1. Logging Modules

Logging Modules

Overview

munication Modules

Name

Decription

log.py

Logging management module

Logging module log.py

The Logging management module log.py contains the single static class Log.

Class Log

The static Class Log contains the subsequent variables and methods.

Log Variables
Log Variables

Name

Type

Default

Description

cfg

TyDic

None

Configuration dictionary

d_pacmod

TyDic

{}

Package module dictionary

pid

TyInt

None

Process id

sw_init

TyBool

None

Initialisation switch

ts

TnTimeStamp

None

Timestamp format

ts_start

TnDateTime

None

start timestamp in timestamp format ts

ts_end

TnDateTime

None

end timestamp in timestamp format ts

ts_etime

TnDateTime

None

Elapse Time

d_timer

TyDic

False

Timer dictionary

Log

TyLogger

False

Log class

App

TyAny

False

Application class

Exit

TyAny

False

Exit class

Log Methods
Log Methods

Name

Description

init

Initialise static variables if they are not initialized

sh

Show keyword arguments

Log Method init

Parameter

Log method init: Parameter

Name

Type

Description

cls

class

current class

**kwargs

TyAny

keyword arguments

Log Method sh_kwargs

Parameter

Log method sh_kwargs: Parameter

Name

Type

Description

cls

class

current class

root_cls

class

root lass

d_parms

TyDic

parameter dictionary

*args

list

arguments array

Communicstion Module: log.py

The Module log.py contains the following static classes.

log.py Module classes

Name

Description

LogEq

Log Equate message generated from a key-, value-pair.

LogDic

Log Equate messages generated from the key-, value-pairs of a dictionary.

Log

Log message.

log.py Class Log

The static Class Log contains the subsequent methods.

Log Methods
Log Methods

Name

Description

Log messages

debug

Log debug messages

info

Log info messages

warning

Log warnning messages

error

Log error messages

critcial

Log critical messages

Log show Methods

Name

Description

Show methods

sh_dir_run

Show run directory.

sh_d_log_cfg_for_single_log

Show log configuration directory for single log.

sh_d_log_cfg_for_multiple_logs

Show log configuration directory for multiple logs.

sh_d_log_cfg

Show log configuration directory.

sh_path_log_cfg

Show path of log configuration file.

Log Methods

Name

Description

init

initialise current class.

sh

initialise and show current class.

log.py Class LogEq

The static Class LogEq of Module log.py contains the subsequent methods

LogEq Methods
LogEq Methods

Name

Description

debug

Log generated equate message “<key> = <value>” to the debug destination.

info

Log generated equate message “<key> = <value>” to the info destination.

warning

Log generated equate message “<key> = <value>” to the warning destination.

error

Log generated equate message “<key> = <value>” to the error destination.

critcial

Log generated equate message “<key> = <value>” to the critical destination.

All Methods use the following Parameter:

LogEq Methods Parameter
LogEq Methods parameter

Name

Type

Description

cls

class

current class

key

TyAny

Key

value

TyAny

Value

log.py Class LogDic

The static Class LogDic of Module log.py contains the subsequent methods

LogDic Methods
LogDic Methods

Name

Description

debug

Log generated equate messages for all dictionary entries to the debug destination.

info

Log generated equate messages for all dictionary entries to the info destination.

warning

Log generated equate messages for all dictionary entries to the warning destination.

error

Log generated equate messages for all dictionary entries to the error destination.

critical

Log generated equate messages for all dictionary entries to the critical destination.

All LogDic Methods use the following Parameters:

LogDic Methods Parameter
LogDic Methods Parameter

Name

Type

Description

cls

class

current class

dic

TyDic

Dictionary

Appendix

Package Logging

Description

The Standard or user specifig logging is carried out by the log.py module of the logging package ka_uts_log using the configuration files ka_std_log.yml or ka_usr_log.yml in the configuration directory cfg of the logging package ka_uts_log. The Logging configuration of the logging package could be overriden by yaml files with the same names in the configuration directory cfg of the application packages.

Log message types

Logging defines log file path names for the following log message types: .

  1. debug

  2. info

  3. warning

  4. error

  5. critical

Application parameter for logging
Application parameter used in log naming

Name

Decription

Values

Example

Value|Type

dir_dat

Application data directory

Path

/otev/data

tenant

Application tenant name

str

UMH

package

Application package name

str

otev_xls_srr

cmd

Application command

str

evupreg

pid

Process ID

str

evupreg

log_ts_type

Timestamp type used in loggin files

ts

Timestamp

ts

dt

Datetime

log_sw_single_dir

Enable single log directory or multiple log directories

True

Bool

True

False

Bool

log_sw_pid

Enable display of pid in log file name

True

Bool

True

False

Bool

Log type and Log directories

Single or multiple Application log directories can be used for each message type:

Log types and directoriesg

Log type

Log directory

long

short

multiple

single

debug

dbqs

dbqs

logs

info

infs

infs

logs

warning

wrns

wrns

logs

error

errs

errs

logs

critical

crts

crts

logs

Log files naming
Conventions
Naming conventions for logging file paths

Type

Directory

File

debug

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

info

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

warning

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

error

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

critical

/<dir_dat>/<tenant>/RUN/<package>/<cmd>/<Log directory>

<Log type>_<ts>_<pid>.log

Examples (with log_ts_type = ‘ts’)

The examples use the following parameter values.

  1. dir_dat = ‘/data/otev’

  2. tenant = ‘UMH’

  3. package = ‘otev_srr’

  4. cmd = ‘evupreg’

  5. log_sw_single_dir = True

  6. log_sw_pid = True

  7. log_ts_type = ‘ts’

Naming examples for logging file paths

Type

Directory

File

debug

/data/otev/umh/RUN/otev_srr/evupreg/logs

debs_1737118199_9470.log

info

/data/otev/umh/RUN/otev_srr/evupreg/logs

infs_1737118199_9470.log

warning

/data/otev/umh/RUN/otev_srr/evupreg/logs

wrns_1737118199_9470.log

error

/data/otev/umh/RUN/otev_srr/evupreg/logs

errs_1737118199_9470.log

critical

/data/otev/umh/RUN/otev_srr/evupreg/logs

crts_1737118199_9470.log

Python Terminology

Python package

Overview

Python package

Name

Definition

Python package

Python packages are directories that contains the special module __init__.py and other modules, packages files or directories.

Python sub-package

Python sub-packages are python packages which are contained in another pyhon package.

Python package sub-directories

Overview

Python package sub-directories

Name

Definition

Python package sub-directory

directory contained in a python package.

Special python package sub-directory

Python package sub-directories with a special meaning like data or cfg.

Special python package sub-directories

Overview

Special python sun-directories

Name

Description

data

Directory for package data files.

cfg

Directory for package configuration files.

Python package files

Overview
Python package files

Name

Definition

Python package file

File within a python package.

Special python package file

Python package file which are not modules and used as python marker files like __init__.py.

Python package module

File with suffix .py which could be empty or contain python code; Other modules can be imported into a module.

Special python package module

Python package module with special name and functionality like main.py or __init__.py.

Special python package files

Overview °°°°°°°°

Special python package files

Name

Type

Description

py.typed

Type checking marker file

The py.typed file is a marker file used in Python packages to indicate that the package supports type checking. This is a part of the PEP 561 standard, which provides a standardized way to package and distribute type information in Python.

Special python package modules

Overview °°°°°°°°

Special Python package modules

Name

Type

Description

__init__.py

Package directory marker file

The dunder (double underscore) module __init__.py is used to execute initialisation code or mark the directory it contains as a package. The Module enforces explicit imports and thus clear namespace use and call them with the dot notation.

__main__.py

entry point for the package

The dunder module __main__.py serves as an entry point for the package. The module is executed when the package is called by the interpreter with the command python -m <package name>.

__version__.py

Version file

The dunder module __version__.py consist of assignment statements used in Versioning.

Python elements

Overview °°°°°°°°

Python elements

Name

Definition

Python method

Function defined in a python module.

Special python method

Python method with special name and functionality like init.

Python class

Python classes are defined in python modules.

Python class method

Python method defined in a python class.

Special Python class method

Python class method with special name and functionality like init.

Special python methods

Overview °°°°°°°°

Special python methods

Name

Type

Description

__init__

class object constructor method

The special method __init__ is called when an instance (object) of a class is created; instance attributes can be defined and initalized in the method.

Table of Contents

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ka_uts_log-2.2.3.250502.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ka_uts_log-2.2.3.250502-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file ka_uts_log-2.2.3.250502.tar.gz.

File metadata

  • Download URL: ka_uts_log-2.2.3.250502.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for ka_uts_log-2.2.3.250502.tar.gz
Algorithm Hash digest
SHA256 3dadcfce4547ddad6dd54ee99c5b42422c44cdf6ca1217888203feab3f7d885d
MD5 357ff163703a07104a1de5504149832c
BLAKE2b-256 f0b18f545b1823a9fb44eb80b2a15999e0ce7dc4227c3d52fbdd9a67a272d9e3

See more details on using hashes here.

File details

Details for the file ka_uts_log-2.2.3.250502-py3-none-any.whl.

File metadata

File hashes

Hashes for ka_uts_log-2.2.3.250502-py3-none-any.whl
Algorithm Hash digest
SHA256 8b78baaa65267b45cc413fcdcb9d04adf9b6c2d61a865abfb85ddb4241f1990c
MD5 181c158f558d333fc4d282c0a53af741
BLAKE2b-256 24cf24237207e99629b1a00b599f121a2a126ffea6b5b353542c42471bd92303

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page