@@ -96,7 +96,8 @@ def batch(self, client=None):
9696 def _make_entry_resource (self , text = None , info = None , message = None ,
9797 labels = None , insert_id = None , severity = None ,
9898 http_request = None , timestamp = None ,
99- resource = _GLOBAL_RESOURCE , trace = None ):
99+ resource = _GLOBAL_RESOURCE , trace = None ,
100+ span_id = None ):
100101 """Return a log entry resource of the appropriate type.
101102
102103 Helper for :meth:`log_text`, :meth:`log_struct`, and :meth:`log_proto`.
@@ -134,6 +135,10 @@ def _make_entry_resource(self, text=None, info=None, message=None,
134135 :type trace: str
135136 :param trace: (optional) traceid to apply to the entry.
136137
138+ :type span_id: str
139+ :param span_id: (optional) span_id within the trace for the log entry.
140+ Specify the trace parameter if span_id is set.
141+
137142 :rtype: dict
138143 :returns: The JSON resource created.
139144 """
@@ -178,11 +183,14 @@ def _make_entry_resource(self, text=None, info=None, message=None,
178183 if trace is not None :
179184 entry ['trace' ] = trace
180185
186+ if span_id is not None :
187+ entry ['spanId' ] = span_id
188+
181189 return entry
182190
183191 def log_text (self , text , client = None , labels = None , insert_id = None ,
184192 severity = None , http_request = None , timestamp = None ,
185- resource = _GLOBAL_RESOURCE , trace = None ):
193+ resource = _GLOBAL_RESOURCE , trace = None , span_id = None ):
186194 """API call: log a text message via a POST request
187195
188196 See
@@ -218,17 +226,21 @@ def log_text(self, text, client=None, labels=None, insert_id=None,
218226
219227 :type trace: str
220228 :param trace: (optional) traceid to apply to the entry.
229+
230+ :type span_id: str
231+ :param span_id: (optional) span_id within the trace for the log entry.
232+ Specify the trace parameter if span_id is set.
221233 """
222234 client = self ._require_client (client )
223235 entry_resource = self ._make_entry_resource (
224236 text = text , labels = labels , insert_id = insert_id , severity = severity ,
225237 http_request = http_request , timestamp = timestamp , resource = resource ,
226- trace = trace )
238+ trace = trace , span_id = span_id )
227239 client .logging_api .write_entries ([entry_resource ])
228240
229241 def log_struct (self , info , client = None , labels = None , insert_id = None ,
230242 severity = None , http_request = None , timestamp = None ,
231- resource = _GLOBAL_RESOURCE , trace = None ):
243+ resource = _GLOBAL_RESOURCE , trace = None , span_id = None ):
232244 """API call: log a structured message via a POST request
233245
234246 See
@@ -264,17 +276,21 @@ def log_struct(self, info, client=None, labels=None, insert_id=None,
264276
265277 :type trace: str
266278 :param trace: (optional) traceid to apply to the entry.
279+
280+ :type span_id: str
281+ :param span_id: (optional) span_id within the trace for the log entry.
282+ Specify the trace parameter if span_id is set.
267283 """
268284 client = self ._require_client (client )
269285 entry_resource = self ._make_entry_resource (
270286 info = info , labels = labels , insert_id = insert_id , severity = severity ,
271287 http_request = http_request , timestamp = timestamp , resource = resource ,
272- trace = trace )
288+ trace = trace , span_id = span_id )
273289 client .logging_api .write_entries ([entry_resource ])
274290
275291 def log_proto (self , message , client = None , labels = None , insert_id = None ,
276292 severity = None , http_request = None , timestamp = None ,
277- resource = _GLOBAL_RESOURCE , trace = None ):
293+ resource = _GLOBAL_RESOURCE , trace = None , span_id = None ):
278294 """API call: log a protobuf message via a POST request
279295
280296 See
@@ -310,12 +326,16 @@ def log_proto(self, message, client=None, labels=None, insert_id=None,
310326
311327 :type trace: str
312328 :param trace: (optional) traceid to apply to the entry.
329+
330+ :type span_id: str
331+ :param span_id: (optional) span_id within the trace for the log entry.
332+ Specify the trace parameter if span_id is set.
313333 """
314334 client = self ._require_client (client )
315335 entry_resource = self ._make_entry_resource (
316336 message = message , labels = labels , insert_id = insert_id ,
317337 severity = severity , http_request = http_request , timestamp = timestamp ,
318- resource = resource , trace = trace )
338+ resource = resource , trace = trace , span_id = span_id )
319339 client .logging_api .write_entries ([entry_resource ])
320340
321341 def delete (self , client = None ):
@@ -410,7 +430,7 @@ def __exit__(self, exc_type, exc_val, exc_tb):
410430
411431 def log_text (self , text , labels = None , insert_id = None , severity = None ,
412432 http_request = None , timestamp = None , resource = _GLOBAL_RESOURCE ,
413- trace = None ):
433+ trace = None , span_id = None ):
414434 """Add a text entry to be logged during :meth:`commit`.
415435
416436 :type text: str
@@ -441,14 +461,18 @@ def log_text(self, text, labels=None, insert_id=None, severity=None,
441461
442462 :type trace: str
443463 :param trace: (optional) traceid to apply to the entry.
464+
465+ :type span_id: str
466+ :param span_id: (optional) span_id within the trace for the log entry.
467+ Specify the trace parameter if span_id is set.
444468 """
445469 self .entries .append (
446470 ('text' , text , labels , insert_id , severity , http_request ,
447- timestamp , resource , trace ))
471+ timestamp , resource , trace , span_id ))
448472
449473 def log_struct (self , info , labels = None , insert_id = None , severity = None ,
450474 http_request = None , timestamp = None ,
451- resource = _GLOBAL_RESOURCE , trace = None ):
475+ resource = _GLOBAL_RESOURCE , trace = None , span_id = None ):
452476 """Add a struct entry to be logged during :meth:`commit`.
453477
454478 :type info: dict
@@ -479,14 +503,18 @@ def log_struct(self, info, labels=None, insert_id=None, severity=None,
479503
480504 :type trace: str
481505 :param trace: (optional) traceid to apply to the entry.
506+
507+ :type span_id: str
508+ :param span_id: (optional) span_id within the trace for the log entry.
509+ Specify the trace parameter if span_id is set.
482510 """
483511 self .entries .append (
484512 ('struct' , info , labels , insert_id , severity , http_request ,
485- timestamp , resource , trace ))
513+ timestamp , resource , trace , span_id ))
486514
487515 def log_proto (self , message , labels = None , insert_id = None , severity = None ,
488516 http_request = None , timestamp = None ,
489- resource = _GLOBAL_RESOURCE , trace = None ):
517+ resource = _GLOBAL_RESOURCE , trace = None , span_id = None ):
490518 """Add a protobuf entry to be logged during :meth:`commit`.
491519
492520 :type message: protobuf message
@@ -517,10 +545,14 @@ def log_proto(self, message, labels=None, insert_id=None, severity=None,
517545
518546 :type trace: str
519547 :param trace: (optional) traceid to apply to the entry.
548+
549+ :type span_id: str
550+ :param span_id: (optional) span_id within the trace for the log entry.
551+ Specify the trace parameter if span_id is set.
520552 """
521553 self .entries .append (
522554 ('proto' , message , labels , insert_id , severity , http_request ,
523- timestamp , resource , trace ))
555+ timestamp , resource , trace , span_id ))
524556
525557 def commit (self , client = None ):
526558 """Send saved log entries as a single API call.
@@ -544,7 +576,7 @@ def commit(self, client=None):
544576
545577 entries = []
546578 for (entry_type , entry , labels , iid , severity , http_req ,
547- timestamp , resource , trace ) in self .entries :
579+ timestamp , resource , trace , span_id ) in self .entries :
548580 if entry_type == 'text' :
549581 info = {'textPayload' : entry }
550582 elif entry_type == 'struct' :
@@ -573,6 +605,8 @@ def commit(self, client=None):
573605 info ['timestamp' ] = _datetime_to_rfc3339 (timestamp )
574606 if trace is not None :
575607 info ['trace' ] = trace
608+ if span_id is not None :
609+ info ['spanId' ] = span_id
576610 entries .append (info )
577611
578612 client .logging_api .write_entries (entries , ** kwargs )
0 commit comments