File tree 1 file changed +28
-7
lines changed 1 file changed +28
-7
lines changed Original file line number Diff line number Diff line change 17
17
from __future__ import print_function , absolute_import
18
18
19
19
from logging import getLogger
20
+ # Not importing `logging` module here so that using `logging.debug`
21
+ # instead of `logger.debug` becomes an error.
22
+
20
23
import atexit
21
24
import ctypes
22
25
import ctypes .util
49
52
50
53
51
54
logger = getLogger ("julia" )
55
+ _loghandler = None
52
56
53
57
54
- def enable_debug ():
58
+ def get_loghandler ():
59
+ """
60
+ Get `logging.StreamHandler` private to PyJulia.
61
+ """
62
+ global _loghandler
63
+ if _loghandler is None :
64
+ import logging
65
+
66
+ formatter = logging .Formatter ("%(levelname)s %(message)s" )
67
+
68
+ _loghandler = logging .StreamHandler ()
69
+ _loghandler .setFormatter (formatter )
70
+
71
+ logger .addHandler (_loghandler )
72
+ return _loghandler
73
+
74
+
75
+ def set_loglevel (level ):
55
76
import logging
56
- # Importing `logging` module here so that using `logging.debug`
57
- # instead of `logger.debug` outside of this function becomes an
58
- # error.
59
77
60
- logging .basicConfig (
61
- format = "%(levelname)s %(message)s" ,
62
- level = logging .DEBUG )
78
+ get_loghandler ()
79
+ logger .setLevel (getattr (logging , level , level ))
80
+
81
+
82
+ def enable_debug ():
83
+ set_loglevel ("DEBUG" )
63
84
64
85
65
86
# As setting up Julia modifies os.environ, we need to cache it for
You can’t perform that action at this time.
0 commit comments