Skip to content

Commit c34ce04

Browse files
committed
add variety of log scenarios to examples
1 parent 35337ce commit c34ce04

7 files changed

+379
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import logging
2+
3+
from opentelemetry import trace
4+
from opentelemetry._logs import set_logger_provider
5+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
6+
# OTLPLogExporter,
7+
# )
8+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
9+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
10+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
11+
from opentelemetry.sdk.resources import Resource
12+
13+
14+
15+
logger_provider = LoggerProvider(
16+
resource=Resource.create(
17+
{
18+
"service.name": "shoppingcart",
19+
"service.instance.id": "instance-12",
20+
}
21+
),
22+
)
23+
set_logger_provider(logger_provider)
24+
25+
exporter = ConsoleLogExporter()
26+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
27+
handler = LoggingHandler(logger_provider=logger_provider)
28+
29+
# Attach OTLP handler to root logger
30+
logging.getLogger().addHandler(handler)
31+
32+
# Create different namespaced loggers
33+
# It is recommended to not use the root logger with OTLP handler
34+
# so telemetry is collected only for the application
35+
logger1 = logging.getLogger("myapp.area1")
36+
logger2 = logging.getLogger("myapp.area2")
37+
38+
logger1.debug("Quick zephyrs blow, vexing daft Jim.")
39+
logger1.info("How quickly daft jumping zebras vex.")
40+
logger2.warning("Jail zesty vixen who grabbed pay from quack.")
41+
logger2.error("The five boxing wizards jump quickly.")
42+
43+
44+
# Trace context correlation
45+
tracer = trace.get_tracer(__name__)
46+
with tracer.start_as_current_span("foo"):
47+
# Do something
48+
logger2.error("Hyderabad, we have a pip lismajor problem.")
49+
50+
logger_provider.shutdown()
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import logging
2+
from os import environ
3+
4+
from opentelemetry import trace
5+
from opentelemetry._logs import set_logger_provider
6+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
7+
# OTLPLogExporter,
8+
# )
9+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
10+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
11+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
12+
from opentelemetry.sdk.resources import Resource
13+
14+
15+
logging.basicConfig(
16+
format="%(name)s - %(levelname)s - %(message)s",
17+
level=logging.INFO
18+
# handlers=()
19+
)
20+
21+
logger_provider = LoggerProvider(
22+
resource=Resource.create(
23+
{
24+
"service.name": "shoppingcart",
25+
"service.instance.id": "instance-12",
26+
}
27+
),
28+
)
29+
set_logger_provider(logger_provider)
30+
31+
exporter = ConsoleLogExporter()
32+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
33+
# environ.set('OTEL_LOG_LEVEL', 'warning')
34+
handler = LoggingHandler(logger_provider=logger_provider)
35+
36+
# Attach OTLP handler to root logger
37+
logging.getLogger().addHandler(handler)
38+
39+
# Create different namespaced loggers
40+
# It is recommended to not use the root logger with OTLP handler
41+
# so telemetry is collected only for the application
42+
logger1 = logging.getLogger("myapp.area1")
43+
logger2 = logging.getLogger("myapp.area2")
44+
45+
logger1.debug("logger 1 debug")
46+
logger1.info("logger 1 info")
47+
logger2.warning("logger 2 warning")
48+
logger2.error("logger 2 error")
49+
50+
51+
# Trace context correlation
52+
tracer = trace.get_tracer(__name__)
53+
with tracer.start_as_current_span("foo"):
54+
# Do something
55+
logger2.error("logger 2 error in span")
56+
57+
logger_provider.shutdown()
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import logging
2+
from os import environ
3+
4+
from opentelemetry import trace
5+
from opentelemetry._logs import set_logger_provider
6+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
7+
# OTLPLogExporter,
8+
# )
9+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
10+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
11+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
12+
from opentelemetry.sdk.resources import Resource
13+
14+
15+
logging.basicConfig(
16+
format="%(name)s - %(levelname)s - %(message)s",
17+
level=logging.INFO
18+
# handlers=()
19+
)
20+
21+
logger_provider = LoggerProvider(
22+
resource=Resource.create(
23+
{
24+
"service.name": "shoppingcart",
25+
"service.instance.id": "instance-12",
26+
}
27+
),
28+
)
29+
set_logger_provider(logger_provider)
30+
31+
exporter = ConsoleLogExporter()
32+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
33+
# environ.set('OTEL_LOG_LEVEL', 'warning')
34+
handler = LoggingHandler(logger_provider=logger_provider)
35+
36+
# Attach OTLP handler to root logger
37+
logging.getLogger().addHandler(handler)
38+
39+
# Create different namespaced loggers
40+
# It is recommended to not use the root logger with OTLP handler
41+
# so telemetry is collected only for the application
42+
logger1 = logging.getLogger("myapp.area1")
43+
logger2 = logging.getLogger("myapp.area2")
44+
45+
logger1.debug("logger 1 debug")
46+
logger1.info("logger 1 info")
47+
logger2.warning("logger 2 warning")
48+
logger2.error("logger 2 error")
49+
50+
51+
# Trace context correlation
52+
tracer = trace.get_tracer(__name__)
53+
with tracer.start_as_current_span("foo"):
54+
# Do something
55+
logger2.error("logger 2 error in span")
56+
57+
logger_provider.shutdown()
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import logging
2+
from os import environ
3+
4+
from opentelemetry import trace
5+
from opentelemetry._logs import set_logger_provider
6+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
7+
# OTLPLogExporter,
8+
# )
9+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
10+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
11+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
12+
from opentelemetry.sdk.resources import Resource
13+
14+
15+
logging.basicConfig(
16+
format="%(name)s - %(levelname)s - %(message)s",
17+
level=logging.INFO,
18+
handlers=(),
19+
)
20+
21+
logger_provider = LoggerProvider(
22+
resource=Resource.create(
23+
{
24+
"service.name": "shoppingcart",
25+
"service.instance.id": "instance-12",
26+
}
27+
),
28+
)
29+
set_logger_provider(logger_provider)
30+
31+
exporter = ConsoleLogExporter()
32+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
33+
handler = LoggingHandler(logger_provider=logger_provider)
34+
35+
# Attach OTLP handler to root logger
36+
logging.getLogger().addHandler(handler)
37+
38+
# Create different namespaced loggers
39+
# It is recommended to not use the root logger with OTLP handler
40+
# so telemetry is collected only for the application
41+
logger1 = logging.getLogger("myapp.area1")
42+
logger2 = logging.getLogger("myapp.area2")
43+
44+
logger1.debug("logger 1 debug")
45+
logger1.info("logger 1 info")
46+
logger2.warning("logger 2 warning")
47+
logger2.error("logger 2 error")
48+
49+
50+
# Trace context correlation
51+
tracer = trace.get_tracer(__name__)
52+
with tracer.start_as_current_span("foo"):
53+
# Do something
54+
logger2.error("logger 2 error in span")
55+
56+
logger_provider.shutdown()
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import logging
2+
from os import environ
3+
4+
from opentelemetry import trace
5+
from opentelemetry._logs import set_logger_provider
6+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
7+
# OTLPLogExporter,
8+
# )
9+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
10+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
11+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
12+
from opentelemetry.sdk.resources import Resource
13+
14+
15+
logging.basicConfig(
16+
format="%(name)s - %(levelname)s - %(message)s",
17+
level=logging.INFO
18+
# handlers=()
19+
)
20+
21+
logger_provider = LoggerProvider(
22+
resource=Resource.create(
23+
{
24+
"service.name": "shoppingcart",
25+
"service.instance.id": "instance-12",
26+
}
27+
),
28+
)
29+
set_logger_provider(logger_provider)
30+
31+
exporter = ConsoleLogExporter()
32+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
33+
# environ.set('OTEL_LOG_LEVEL', 'warning')
34+
handler = LoggingHandler(logger_provider=logger_provider)
35+
36+
# Attach OTLP handler to root logger
37+
logging.getLogger().addHandler(handler)
38+
39+
# Create different namespaced loggers
40+
# It is recommended to not use the root logger with OTLP handler
41+
# so telemetry is collected only for the application
42+
logger1 = logging.getLogger("myapp.area1")
43+
logger2 = logging.getLogger("myapp.area2")
44+
45+
logger1.debug("logger 1 debug")
46+
logger1.info("logger 1 info")
47+
logger2.warning("logger 2 warning")
48+
logger2.error("logger 2 error")
49+
50+
51+
# Trace context correlation
52+
tracer = trace.get_tracer(__name__)
53+
with tracer.start_as_current_span("foo"):
54+
# Do something
55+
logger2.error("logger 2 error in span")
56+
57+
logger_provider.shutdown()
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import logging
2+
from os import environ
3+
4+
from opentelemetry import trace
5+
from opentelemetry._logs import set_logger_provider
6+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
7+
# OTLPLogExporter,
8+
# )
9+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
10+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
11+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
12+
from opentelemetry.sdk.resources import Resource
13+
14+
15+
16+
logger_provider = LoggerProvider(
17+
resource=Resource.create(
18+
{
19+
"service.name": "shoppingcart",
20+
"service.instance.id": "instance-12",
21+
}
22+
),
23+
)
24+
set_logger_provider(logger_provider)
25+
26+
exporter = ConsoleLogExporter()
27+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
28+
environ.set('OTEL_LOG_LEVEL', 'warning')
29+
handler = LoggingHandler(logger_provider=logger_provider)
30+
31+
# Attach OTLP handler to root logger
32+
logging.getLogger().addHandler(handler)
33+
34+
# Create different namespaced loggers
35+
# It is recommended to not use the root logger with OTLP handler
36+
# so telemetry is collected only for the application
37+
logger1 = logging.getLogger("myapp.area1")
38+
logger2 = logging.getLogger("myapp.area2")
39+
40+
logger1.debug("logger 1 debug")
41+
logger1.info("logger 1 info")
42+
logger2.warning("logger 2 warning")
43+
logger2.error("logger 2 error")
44+
45+
46+
# Trace context correlation
47+
tracer = trace.get_tracer(__name__)
48+
with tracer.start_as_current_span("foo"):
49+
# Do something
50+
logger2.error("logger 2 error in span")
51+
52+
logger_provider.shutdown()
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import logging
2+
3+
from opentelemetry import trace
4+
from opentelemetry._logs import set_logger_provider
5+
# from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
6+
# OTLPLogExporter,
7+
# )
8+
from opentelemetry.sdk._logs.export import ConsoleLogExporter
9+
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
10+
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
11+
from opentelemetry.sdk.resources import Resource
12+
13+
14+
15+
logger_provider = LoggerProvider(
16+
resource=Resource.create(
17+
{
18+
"service.name": "shoppingcart",
19+
"service.instance.id": "instance-12",
20+
}
21+
),
22+
)
23+
set_logger_provider(logger_provider)
24+
25+
exporter = ConsoleLogExporter()
26+
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
27+
handler = LoggingHandler(level=logging.WARNING, logger_provider=logger_provider)
28+
29+
# Attach OTLP handler to root logger
30+
logging.getLogger().addHandler(handler)
31+
32+
# Create different namespaced loggers
33+
# It is recommended to not use the root logger with OTLP handler
34+
# so telemetry is collected only for the application
35+
logger1 = logging.getLogger("myapp.area1")
36+
logger2 = logging.getLogger("myapp.area2")
37+
38+
logger1.debug("logger 1 debug")
39+
logger1.info("logger 1 info")
40+
logger2.warning("logger 2 warning")
41+
logger2.error("logger 2 error")
42+
43+
44+
# Trace context correlation
45+
tracer = trace.get_tracer(__name__)
46+
with tracer.start_as_current_span("foo"):
47+
# Do something
48+
logger2.error("logger 2 error in span")
49+
50+
logger_provider.shutdown()

0 commit comments

Comments
 (0)