File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed
samples/instrumentation-quickstart Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -58,6 +58,7 @@ def multi():
5858def single ():
5959 """Handle an http request by sleeping for 100-200 ms, and write the number of seconds slept as the response."""
6060 duration = uniform (0.1 , 0.2 )
61+ logger .info ("handle /single request" , extra = {"duration" : duration })
6162 time .sleep (duration )
6263 return f"slept { duration } seconds"
6364
Original file line number Diff line number Diff line change 1313# limitations under the License.
1414
1515import logging
16+ from datetime import datetime
17+ from typing import Optional
1618
1719from opentelemetry .instrumentation .logging import LoggingInstrumentor
1820from pythonjsonlogger import jsonlogger
1921
2022
2123# [START opentelemetry_instrumentation_setup_logging]
24+ class JsonFormatter (jsonlogger .JsonFormatter ):
25+ def formatTime (self , record : logging .LogRecord , datefmt : Optional [str ] = None ):
26+ isoformat = datetime .fromtimestamp (record .created ).isoformat ()
27+ return f"{ isoformat } Z"
28+
29+
2230def setup_structured_logging () -> None :
2331 LoggingInstrumentor ().instrument ()
2432
2533 log_handler = logging .StreamHandler ()
26- formatter = jsonlogger . JsonFormatter (
34+ formatter = JsonFormatter (
2735 "%(asctime)s %(levelname)s %(message)s %(otelTraceID)s %(otelSpanID)s %(otelTraceSampled)s" ,
2836 rename_fields = {
2937 "levelname" : "severity" ,
@@ -32,7 +40,6 @@ def setup_structured_logging() -> None:
3240 "otelSpanID" : "logging.googleapis.com/spanId" ,
3341 "otelTraceSampled" : "logging.googleapis.com/trace_sampled" ,
3442 },
35- datefmt = "%Y-%m-%dT%H:%M:%SZ" ,
3643 )
3744 log_handler .setFormatter (formatter )
3845 logging .basicConfig (
You can’t perform that action at this time.
0 commit comments