Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
194bcaf4
Commit
194bcaf4
authored
Jun 12, 2014
by
Vinay Sajip
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #21709: Improved implementation to cover the frozen module case.
parent
307bccc6
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
28 deletions
+34
-28
Lib/logging/__init__.py
Lib/logging/__init__.py
+34
-28
No files found.
Lib/logging/__init__.py
View file @
194bcaf4
...
@@ -51,34 +51,6 @@ __date__ = "07 February 2010"
...
@@ -51,34 +51,6 @@ __date__ = "07 February 2010"
# Miscellaneous module data
# Miscellaneous module data
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
#
# _srcfile is used when walking the stack to check when we've got the first
# caller stack frame.
#
if
hasattr
(
sys
,
'frozen'
):
_srcfile
=
os
.
path
.
join
(
'logging'
,
'__init__.py'
)
else
:
_srcfile
=
__file__
_srcfile
=
os
.
path
.
normcase
(
_srcfile
)
if
hasattr
(
sys
,
'_getframe'
):
currentframe
=
lambda
:
sys
.
_getframe
(
3
)
else
:
#pragma: no cover
def
currentframe
():
"""Return the frame object for the caller's stack frame."""
try
:
raise
Exception
except
Exception
:
return
sys
.
exc_info
()[
2
].
tb_frame
.
f_back
# _srcfile is only used in conjunction with sys._getframe().
# To provide compatibility with older versions of Python, set _srcfile
# to None if _getframe() is not available; this value will prevent
# findCaller() from being called.
#if not hasattr(sys, "_getframe"):
# _srcfile = None
#
#
#_startTime is used as the base when calculating the relative time of events
#_startTime is used as the base when calculating the relative time of events
#
#
...
@@ -172,6 +144,40 @@ def addLevelName(level, levelName):
...
@@ -172,6 +144,40 @@ def addLevelName(level, levelName):
finally
:
finally
:
_releaseLock
()
_releaseLock
()
if
hasattr
(
sys
,
'_getframe'
):
currentframe
=
lambda
:
sys
.
_getframe
(
3
)
else
:
#pragma: no cover
def
currentframe
():
"""Return the frame object for the caller's stack frame."""
try
:
raise
Exception
except
Exception
:
return
sys
.
exc_info
()[
2
].
tb_frame
.
f_back
#
# _srcfile is used when walking the stack to check when we've got the first
# caller stack frame, by skipping frames whose filename is that of this
# module's source. It therefore should contain the filename of this module's
# source file.
#
# Ordinarily we would use __file__ for this, but frozen modules don't always
# have __file__ set, for some reason (see Issue #21736). Thus, we get the
# filename from a handy code object from a function defined in this module.
# (There's no particular reason for picking addLevelName.)
#
_srcfile
=
os
.
path
.
normcase
(
addLevelName
.
__code__
.
co_filename
)
# _srcfile is only used in conjunction with sys._getframe().
# To provide compatibility with older versions of Python, set _srcfile
# to None if _getframe() is not available; this value will prevent
# findCaller() from being called. You can also do this if you want to avoid
# the overhead of fetching caller information, even when _getframe() is
# available.
#if not hasattr(sys, '_getframe'):
# _srcfile = None
def
_checkLevel
(
level
):
def
_checkLevel
(
level
):
if
isinstance
(
level
,
int
):
if
isinstance
(
level
,
int
):
rv
=
level
rv
=
level
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment