You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2023/11/04 03:29:07 UTC
(skywalking-python) branch master updated: Add support printing TID to logs (#323)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-python.git
The following commit(s) were added to refs/heads/master by this push:
new bea712c Add support printing TID to logs (#323)
bea712c is described below
commit bea712c7a87583432764ec5e176bca49b9595bb3
Author: Starry <co...@163.com>
AuthorDate: Sat Nov 4 11:29:01 2023 +0800
Add support printing TID to logs (#323)
---
CHANGELOG.md | 1 +
docs/en/setup/advanced/LogReporter.md | 8 +++++++-
skywalking/agent/__init__.py | 2 --
skywalking/log/sw_logging.py | 3 +++
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 849e94e..c775273 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
- Feature:
- Users now can specify the `SW_AGENT_ASYNCIO_ENHANCEMENT` environment variable to enable the performance enhancement with asyncio (#316)
+ - Support printing Trace IDs (TID) to collected application logs (#323)
- Plugins:
- Add neo4j plugin.(#312)
diff --git a/docs/en/setup/advanced/LogReporter.md b/docs/en/setup/advanced/LogReporter.md
index c1982d9..e08e65f 100644
--- a/docs/en/setup/advanced/LogReporter.md
+++ b/docs/en/setup/advanced/LogReporter.md
@@ -103,4 +103,10 @@ Will result in:
}
]
}
-```
\ No newline at end of file
+```
+
+## Print trace ID in your logs
+To print out the trace IDs in the logs, simply add `%(tid)s` to the `agent_log_reporter_layout`.
+
+You can take advantage of this feature to print out the trace IDs on any channel you desire, not limited to reporting logs to OAP,
+this can be achieved by using any formatter you prefer in your own application logic.
\ No newline at end of file
diff --git a/skywalking/agent/__init__.py b/skywalking/agent/__init__.py
index fc7f9e7..9ee4d92 100644
--- a/skywalking/agent/__init__.py
+++ b/skywalking/agent/__init__.py
@@ -268,7 +268,6 @@ class SkyWalkingAgent(Singleton):
logger.info(f'SkyWalking sync agent instance {config.agent_instance_name} starting in pid-{os.getpid()}.')
# Install log reporter core
- # TODO - Add support for printing traceID/ context in logs
if config.agent_log_reporter_active:
from skywalking import log
log.install()
@@ -502,7 +501,6 @@ class SkyWalkingAgentAsync(Singleton):
self._finished = asyncio.Event()
# Install log reporter core
- # TODO - Add support for printing traceID/ context in logs
if config.agent_log_reporter_active:
from skywalking import log
log.install()
diff --git a/skywalking/log/sw_logging.py b/skywalking/log/sw_logging.py
index 801befe..e192368 100644
--- a/skywalking/log/sw_logging.py
+++ b/skywalking/log/sw_logging.py
@@ -75,6 +75,9 @@ def install():
context = get_context()
+ if '%(tid)s' in layout:
+ record.tid = str(context.segment.related_traces[0])
+
active_span_id = -1
primary_endpoint_name = ''