1515logger = logging .getLogger ("halmos" )
1616
1717
18- def debug (text : str ) -> None :
19- logger .debug (text )
20-
21-
22- def info (text : str ) -> None :
23- logger .info (text )
24-
25-
26- def warn (text : str ) -> None :
27- logger .warning (text )
28-
29-
30- def error (text : str ) -> None :
31- logger .error (text )
32-
33-
3418#
3519# Logging with filtering out duplicate log messages
3620#
@@ -51,8 +35,28 @@ def filter(self, record):
5135logger_unique .addFilter (UniqueLoggingFilter ())
5236
5337
38+ def logger_for (allow_duplicate = True ) -> logging .Logger :
39+ return logger if allow_duplicate else logger_unique
40+
41+
42+ def debug (text : str , allow_duplicate = True ) -> None :
43+ logger_for (allow_duplicate ).debug (text )
44+
45+
46+ def info (text : str , allow_duplicate = True ) -> None :
47+ logger_for (allow_duplicate ).info (text )
48+
49+
50+ def warn (text : str , allow_duplicate = True ) -> None :
51+ logger_for (allow_duplicate ).warning (text )
52+
53+
54+ def error (text : str , allow_duplicate = True ) -> None :
55+ logger_for (allow_duplicate ).error (text )
56+
57+
5458def debug_once (text : str ) -> None :
55- logger_unique . debug (text )
59+ debug (text , allow_duplicate = False )
5660
5761
5862#
@@ -80,5 +84,5 @@ def url(self) -> str:
8084LOOP_BOUND = ErrorCode ("loop-bound" )
8185
8286
83- def warn_code (error_code : ErrorCode , msg : str ):
84- logger .warning (f"{ msg } \n (see { error_code .url ()} )" )
87+ def warn_code (error_code : ErrorCode , msg : str , allow_duplicate = True ):
88+ logger_for ( allow_duplicate ) .warning (f"{ msg } \n (see { error_code .url ()} )" )
0 commit comments