Skip to content

Commit e85a683

Browse files
authored
V4.0.5 (#8)
Co-authored-by: ddc <[email protected]>
1 parent d4e5b1a commit e85a683

File tree

5 files changed

+20
-15
lines changed

5 files changed

+20
-15
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,3 +159,6 @@ cython_debug/
159159
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160160
.idea/
161161
/package-lock.json
162+
/profile_fixed.prof
163+
/profile_output.prof
164+
/profile_pytest.prof

poetry.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
44

55
[tool.poetry]
66
name = "pythonLogs"
7-
version = "4.0.4"
7+
version = "4.0.5"
88
description = "High-performance Python logging library with file rotation and optimized caching for better performance"
99
license = "MIT"
1010
readme = "README.md"
@@ -32,7 +32,6 @@ classifiers = [
3232

3333
[tool.poetry.dependencies]
3434
python = "^3.10"
35-
pydantic = "^2.11.7"
3635
pydantic-settings = "^2.10.1"
3736
python-dotenv = "^1.1.1"
3837

pythonLogs/constants.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# -*- encoding: utf-8 -*-
2+
import logging
23
from enum import Enum
34

45
# File and Directory Constants
@@ -40,3 +41,15 @@ class RotateWhen(str, Enum):
4041
SUNDAY = "W6"
4142
HOURLY = "H"
4243
DAILY = "D"
44+
45+
46+
# Level mapping for performance optimization
47+
LEVEL_MAP = {
48+
LogLevel.DEBUG.value.lower(): logging.DEBUG,
49+
LogLevel.WARNING.value.lower(): logging.WARNING,
50+
LogLevel.WARN.value.lower(): logging.WARNING,
51+
LogLevel.ERROR.value.lower(): logging.ERROR,
52+
LogLevel.CRITICAL.value.lower(): logging.CRITICAL,
53+
LogLevel.CRIT.value.lower(): logging.CRITICAL,
54+
LogLevel.INFO.value.lower(): logging.INFO,
55+
}

pythonLogs/log_utils.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from pathlib import Path
1313
from typing import Callable, Set
1414
from zoneinfo import ZoneInfo
15-
from pythonLogs.constants import DEFAULT_FILE_MODE, LogLevel
15+
from pythonLogs.constants import DEFAULT_FILE_MODE, LEVEL_MAP
1616

1717

1818
# Global cache for checked directories with thread safety and size limits
@@ -182,17 +182,7 @@ def get_level(level: str) -> int:
182182
write_stderr(f"Unable to get log level. Setting default level to: 'INFO' ({logging.INFO})")
183183
return logging.INFO
184184

185-
level_map = {
186-
LogLevel.DEBUG.value.lower(): logging.DEBUG,
187-
LogLevel.WARNING.value.lower(): logging.WARNING,
188-
LogLevel.WARN.value.lower(): logging.WARNING,
189-
LogLevel.ERROR.value.lower(): logging.ERROR,
190-
LogLevel.CRITICAL.value.lower(): logging.CRITICAL,
191-
LogLevel.CRIT.value.lower(): logging.CRITICAL,
192-
LogLevel.INFO.value.lower(): logging.INFO,
193-
}
194-
195-
return level_map.get(level.lower(), logging.INFO)
185+
return LEVEL_MAP.get(level.lower(), logging.INFO)
196186

197187

198188
def get_log_path(directory: str, filename: str) -> str:

0 commit comments

Comments
 (0)