11
11
12
12
class LogSeverity (str , _enum .Enum ):
13
13
"""
14
- `LogSeverity` indicates the detailed severity of the log entry. See
14
+ `LogSeverity` indicates the detailed severity of the log entry. See
15
15
[LogSeverity](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity).
16
16
"""
17
17
@@ -35,18 +35,26 @@ class LogEntry(_typing.TypedDict):
35
35
message : _typing_extensions .NotRequired [str ]
36
36
37
37
38
- def _entry_from_args (severity : LogSeverity , ** kwargs ) -> LogEntry :
38
+ def _entry_from_args (severity : LogSeverity , * args , * *kwargs ) -> LogEntry :
39
39
"""
40
40
Creates a `LogEntry` from the given arguments.
41
41
"""
42
42
43
43
message : str = " " .join ([
44
44
value
45
45
if isinstance (value , str ) else _json .dumps (_remove_circular (value ))
46
- for value in kwargs . values ()
46
+ for value in args
47
47
])
48
48
49
- return {"severity" : severity , "message" : message }
49
+ object : _typing .Dict [str , _typing .Any ] = {
50
+ key : value if isinstance (value , str ) else _remove_circular (value )
51
+ for key , value in kwargs .items ()}
52
+
53
+ entry = {"severity" : severity , ** object }
54
+ if message :
55
+ entry ["message" ] = message
56
+
57
+ return _typing .cast (LogEntry , entry )
50
58
51
59
52
60
def _remove_circular (obj : _typing .Any ,
@@ -65,7 +73,8 @@ def _remove_circular(obj: _typing.Any,
65
73
refs .add (id (obj ))
66
74
67
75
if isinstance (obj , dict ):
68
- return {key : _remove_circular (value , refs ) for key , value in obj .items ()}
76
+ return {
77
+ key : _remove_circular (value , refs ) for key , value in obj .items ()}
69
78
elif isinstance (obj , list ):
70
79
return [_remove_circular (value , refs ) for _ , value in enumerate (obj )]
71
80
elif isinstance (obj , tuple ):
@@ -86,36 +95,36 @@ def write(entry: LogEntry) -> None:
86
95
print (_json .dumps (_remove_circular (entry )), file = write_file )
87
96
88
97
89
- def debug (** kwargs ) -> None :
98
+ def debug (* args , * *kwargs ) -> None :
90
99
"""
91
100
Logs a debug message.
92
101
"""
93
- write (_entry_from_args (LogSeverity .DEBUG , ** kwargs ))
102
+ write (_entry_from_args (LogSeverity .DEBUG , * args , * *kwargs ))
94
103
95
104
96
- def log (** kwargs ) -> None :
105
+ def log (* args , * *kwargs ) -> None :
97
106
"""
98
107
Logs a log message.
99
108
"""
100
- write (_entry_from_args (LogSeverity .NOTICE , ** kwargs ))
109
+ write (_entry_from_args (LogSeverity .NOTICE , * args , * *kwargs ))
101
110
102
111
103
- def info (** kwargs ) -> None :
112
+ def info (* args , * *kwargs ) -> None :
104
113
"""
105
114
Logs an info message.
106
115
"""
107
- write (_entry_from_args (LogSeverity .INFO , ** kwargs ))
116
+ write (_entry_from_args (LogSeverity .INFO , * args , * *kwargs ))
108
117
109
118
110
- def warn (** kwargs ) -> None :
119
+ def warn (* args , * *kwargs ) -> None :
111
120
"""
112
121
Logs a warning message.
113
122
"""
114
- write (_entry_from_args (LogSeverity .WARNING , ** kwargs ))
123
+ write (_entry_from_args (LogSeverity .WARNING , * args , * *kwargs ))
115
124
116
125
117
- def error (** kwargs ) -> None :
126
+ def error (* args , * *kwargs ) -> None :
118
127
"""
119
128
Logs an error message.
120
129
"""
121
- write (_entry_from_args (LogSeverity .ERROR , ** kwargs ))
130
+ write (_entry_from_args (LogSeverity .ERROR , * args , * *kwargs ))
0 commit comments