julien-python-toolkit 0.1.0__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: julien-python-toolkit
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Important code that I reuse through multiple projects. Please see license for allowed use.
5
5
  Home-page: https://github.com/JulienPython/JulienPythonToolkit-V001
6
6
  Author: Julien Python
@@ -0,0 +1,71 @@
1
+ # This file is part of the "your-package-name" project.
2
+ # It is licensed under the "Custom Non-Commercial License".
3
+ # You may not use this file for commercial purposes without
4
+ # explicit permission from the author.
5
+
6
+
7
+ import logging
8
+ import logging.handlers
9
+ import os
10
+
11
+ # Helper Tools
12
+ DEBUG = logging.DEBUG
13
+ INFO = logging.INFO
14
+ WARNING = logging.WARNING
15
+ ERROR = logging.ERROR
16
+
17
+
18
+ class Logger():
19
+
20
+ def __init__(self, name, file_name, stream_log_level = WARNING, file_log_level = INFO):
21
+
22
+ self._logger = self._set_logger(name, file_name, stream_log_level, file_log_level)
23
+
24
+ def _set_logger(self, name, file_name, stream_log_level = logging.WARNING, file_log_level = logging.INFO):
25
+
26
+ log_folder = os.path.join(os.getcwd(), "logs")
27
+
28
+ if not os.path.exists(log_folder):
29
+ os.makedirs(log_folder)
30
+
31
+ logger = logging.getLogger(name)
32
+ logger.setLevel(logging.DEBUG)
33
+
34
+ handler = logging.StreamHandler() # Add a stream handler to print logs to the console
35
+ handler.setLevel(stream_log_level)
36
+
37
+ file_handler = logging.handlers.RotatingFileHandler(filename=os.path.join(log_folder, file_name), maxBytes=1024*1024, backupCount=5)
38
+ file_handler.setLevel(file_log_level)
39
+
40
+ formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(message)s')
41
+ handler.setFormatter(formatter)
42
+ file_handler.setFormatter(formatter)
43
+
44
+ logger.addHandler(handler)
45
+ logger.addHandler(file_handler)
46
+
47
+ return logger
48
+
49
+ def debug(self, message):
50
+ self._logger.debug(message)
51
+
52
+ def info(self, message):
53
+ self._logger.info(message)
54
+
55
+ def warn(self, message):
56
+ self._logger.warn(message)
57
+
58
+ def error(self, message):
59
+ self._logger.error(message)
60
+
61
+ def set_stream_log_level(self, log_level):
62
+
63
+ for handler in logger.handlers:
64
+ if isinstance(handler, logging.StreamHandler) and stream_log_level is not None:
65
+ handler.setLevel(stream_log_level)
66
+
67
+ def set_file_log_level(self, log_level):
68
+
69
+ for handler in logger.handlers:
70
+ if isinstance(handler, logging.RotatingFileHandler) and stream_log_level is not None:
71
+ handler.setLevel(stream_log_level)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: julien-python-toolkit
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Important code that I reuse through multiple projects. Please see license for allowed use.
5
5
  Home-page: https://github.com/JulienPython/JulienPythonToolkit-V001
6
6
  Author: Julien Python
@@ -2,6 +2,7 @@ LICENSE.txt
2
2
  README.md
3
3
  setup.py
4
4
  julien_python_toolkit/__init__.py
5
+ julien_python_toolkit/log_utilities.py
5
6
  julien_python_toolkit.egg-info/PKG-INFO
6
7
  julien_python_toolkit.egg-info/SOURCES.txt
7
8
  julien_python_toolkit.egg-info/dependency_links.txt
@@ -11,7 +11,7 @@ with open('requirements.txt') as f:
11
11
 
12
12
  setup(
13
13
  name='julien-python-toolkit',
14
- version='0.1.0',
14
+ version='0.1.1',
15
15
  packages=find_packages(),
16
16
  license='Custom Non-Commercial License', # Reference your custom license
17
17
  install_requires=required, # Use the list from requirements.txt