Skip to content

Commit

Permalink
Eliminate module lookup
Browse files Browse the repository at this point in the history
  • Loading branch information
jacebrowning committed Jan 8, 2019
1 parent 02dd3eb commit 7d1bebc
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 19 deletions.
30 changes: 18 additions & 12 deletions CHANGELOG.md
@@ -1,51 +1,57 @@
# Revision History
# 1.2.3 (2019-01-08)

## 1.2.1 (2018-12-10)
- Sped up logging by eliminating module lookup.

# 1.2.2 (2019-01-08)

- Sped up logging by eliminating source file loading.

# 1.2.1 (2018-12-10)

- Fixed missing `%(relpath)s` format for `pytest`.

## 1.2 (2018-12-09)
# 1.2 (2018-12-09)

- Fixed bug where logger name is unset when logging during imports.

## 1.1 (2018-10-26)
# 1.1 (2018-10-26)

- Added `%(relpath)s` logging format.
- Added `verbosity` as `init()` option to work with Django admin commands.

## 1.0 (2018-09-27)
# 1.0 (2018-09-27)

- Initial stable release.

## 0.5 (2018-09-07)
# 0.5 (2018-09-07)

- Disabled automatic logging configuration when invoked by `pytest`.

## 0.4 (2018-4-28)
# 0.4 (2018-4-28)

- Added `reset=True` as `init()` option to replace all existing logging handlers.
- Added `exception` logging API.
- Added convenience alias: `log.c`, `log.exc`.

## 0.3.1 (2018-03-30)
# 0.3.1 (2018-03-30)

- Fixed bug where records were written for disabled levels.

## 0.3 (2018-03-15)
# 0.3 (2018-03-15)

- Exposed `logging` level constants on the `log` package.
- Added `log.WARN` as an alias of `log.WARNING`.

## 0.2.1 (2018-03-04)
# 0.2.1 (2018-03-04)

- Removed the Python version check on installation.

## 0.2 (2018-03-03)
# 0.2 (2018-03-03)

- Added method to force logging format: `log.init(format="...")`
- Added method to silenced named loggers: `log.silence('requests', allow_error=True)`
- Added convenience aliases: `log.d`, `log.i`, `log.w`, `log.e`

## 0.1 (2018-03-03)
# 0.1 (2018-03-03)

- Initial release.
12 changes: 6 additions & 6 deletions log/utils.py
Expand Up @@ -14,19 +14,19 @@ def create_logger_record(level, message, *args, exc_info=None, **kwargs):
elif not state.initialized:
helpers.init()

frame, filename, lineno, *_ = inspect.stack(0)[3]
frame = inspect.currentframe().f_back.f_back.f_back

module = inspect.getmodule(frame)
module_name = frame.f_globals['__name__']

logger = logging.getLogger(module.__name__)
logger = logging.getLogger(module_name)
if not logger.isEnabledFor(level):
return

record = logger.makeRecord(
module.__name__,
module_name,
level,
fn=filename,
lno=lineno,
fn=frame.f_globals['__file__'],
lno=frame.f_lineno,
msg=message,
args=args,
exc_info=exc_info,
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
@@ -1,7 +1,7 @@
[tool.poetry]

name = "minilog"
version = "1.2.2"
version = "1.2.3"
description = "Minimalistic wrapper for Python logging."

license = "MIT"
Expand Down

0 comments on commit 7d1bebc

Please sign in to comment.