This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 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 1f7f2ab Fix: Non-global skywalking logging (#87)
1f7f2ab is described below
commit 1f7f2abc85b5991aff9887eee171bc4d5846ee56
Author: Tomasz Pytel <[email protected]>
AuthorDate: Mon Nov 23 00:34:52 2020 -0300
Fix: Non-global skywalking logging (#87)
* Fix: Non-global skywalking logging
* Update skywalking/loggings.py
Co-authored-by: Zhenxu Ke <[email protected]>
---
skywalking/agent/__init__.py | 4 +---
skywalking/agent/protocol/grpc.py | 4 +---
skywalking/agent/protocol/http.py | 4 +---
skywalking/agent/protocol/kafka.py | 7 +++----
skywalking/client/grpc.py | 4 +---
skywalking/client/http.py | 4 +---
skywalking/client/kafka.py | 4 +---
skywalking/loggings.py | 19 +++++++++++++++----
skywalking/plugins/__init__.py | 3 +--
skywalking/plugins/sw_django.py | 3 ---
skywalking/plugins/sw_elasticsearch.py | 3 ---
skywalking/plugins/sw_flask.py | 3 ---
skywalking/plugins/sw_http_server.py | 4 +---
skywalking/plugins/sw_kafka.py | 3 ---
skywalking/plugins/sw_pymongo.py | 4 ----
skywalking/plugins/sw_pymysql.py | 4 +---
skywalking/plugins/sw_rabbitmq.py | 3 ---
skywalking/plugins/sw_redis.py | 3 ---
skywalking/plugins/sw_requests.py | 3 ---
skywalking/plugins/sw_tornado.py | 4 +---
skywalking/plugins/sw_urllib3.py | 4 ----
skywalking/plugins/sw_urllib_request.py | 3 ---
skywalking/trace/context.py | 3 ---
23 files changed, 28 insertions(+), 72 deletions(-)
diff --git a/skywalking/agent/__init__.py b/skywalking/agent/__init__.py
index a58a26f..b6a3046 100644
--- a/skywalking/agent/__init__.py
+++ b/skywalking/agent/__init__.py
@@ -15,7 +15,7 @@
# limitations under the License.
#
-import logging
+from skywalking.loggings import logger
from queue import Queue
from threading import Thread, Event
from typing import TYPE_CHECKING
@@ -26,8 +26,6 @@ from skywalking.agent.protocol import Protocol
if TYPE_CHECKING:
from skywalking.trace.context import Segment
-logger = logging.getLogger(__name__)
-
def __heartbeat():
while not __finished.is_set():
diff --git a/skywalking/agent/protocol/grpc.py
b/skywalking/agent/protocol/grpc.py
index b8a9cf4..ddee75a 100644
--- a/skywalking/agent/protocol/grpc.py
+++ b/skywalking/agent/protocol/grpc.py
@@ -15,7 +15,7 @@
# limitations under the License.
#
-import logging
+from skywalking.loggings import logger
import traceback
from queue import Queue
@@ -29,8 +29,6 @@ from skywalking.protocol.common.Common_pb2 import
KeyStringValuePair
from skywalking.protocol.language_agent.Tracing_pb2 import SegmentObject,
SpanObject, Log, SegmentReference
from skywalking.trace.segment import Segment
-logger = logging.getLogger(__name__)
-
class GrpcProtocol(Protocol):
def __init__(self):
diff --git a/skywalking/agent/protocol/http.py
b/skywalking/agent/protocol/http.py
index e430f13..e97cb22 100644
--- a/skywalking/agent/protocol/http.py
+++ b/skywalking/agent/protocol/http.py
@@ -15,15 +15,13 @@
# limitations under the License.
#
-import logging
+from skywalking.loggings import logger
from queue import Queue
from skywalking.agent import Protocol
from skywalking.client.http import HttpServiceManagementClient,
HttpTraceSegmentReportService
from skywalking.trace.segment import Segment
-logger = logging.getLogger(__name__)
-
class HttpProtocol(Protocol):
def __init__(self):
diff --git a/skywalking/agent/protocol/kafka.py
b/skywalking/agent/protocol/kafka.py
index cc72945..405a728 100644
--- a/skywalking/agent/protocol/kafka.py
+++ b/skywalking/agent/protocol/kafka.py
@@ -16,6 +16,7 @@
#
import logging
+from skywalking.loggings import logger, getLogger
from queue import Queue
from skywalking import config
@@ -25,11 +26,9 @@ from skywalking.protocol.common.Common_pb2 import
KeyStringValuePair
from skywalking.protocol.language_agent.Tracing_pb2 import SegmentObject,
SpanObject, Log, SegmentReference
from skywalking.trace.segment import Segment
-logger = logging.getLogger(__name__)
-
# avoid too many kafka logs
-logger_kafka = logging.getLogger('kafka')
-logger_kafka.setLevel(logging.WARN)
+logger_kafka = getLogger('kafka')
+logger_kafka.setLevel(max(logging.WARN, logger.level))
class KafkaProtocol(Protocol):
diff --git a/skywalking/client/grpc.py b/skywalking/client/grpc.py
index 7944a77..734d3bb 100644
--- a/skywalking/client/grpc.py
+++ b/skywalking/client/grpc.py
@@ -15,7 +15,7 @@
# limitations under the License.
#
-import logging
+from skywalking.loggings import logger
import grpc
@@ -26,8 +26,6 @@ from skywalking.protocol.language_agent.Tracing_pb2_grpc
import TraceSegmentRepo
from skywalking.protocol.management.Management_pb2 import InstancePingPkg,
InstanceProperties
from skywalking.protocol.management.Management_pb2_grpc import
ManagementServiceStub
-logger = logging.getLogger(__name__)
-
class GrpcServiceManagementClient(ServiceManagementClient):
def __init__(self, channel: grpc.Channel):
diff --git a/skywalking/client/http.py b/skywalking/client/http.py
index 3252c7a..87c1c08 100644
--- a/skywalking/client/http.py
+++ b/skywalking/client/http.py
@@ -15,15 +15,13 @@
# limitations under the License.
#
-import logging
+from skywalking.loggings import logger
import requests
from skywalking import config
from skywalking.client import ServiceManagementClient,
TraceSegmentReportService
-logger = logging.getLogger(__name__)
-
class HttpServiceManagementClient(ServiceManagementClient):
def __init__(self):
diff --git a/skywalking/client/kafka.py b/skywalking/client/kafka.py
index 9eeac18..a390b77 100644
--- a/skywalking/client/kafka.py
+++ b/skywalking/client/kafka.py
@@ -17,7 +17,7 @@
import os
import ast
-import logging
+from skywalking.loggings import logger
from skywalking import config
from skywalking.client import ServiceManagementClient,
TraceSegmentReportService
@@ -26,8 +26,6 @@ from skywalking.protocol.management.Management_pb2 import
InstancePingPkg, Insta
from kafka import KafkaProducer
-logger = logging.getLogger(__name__)
-
kafka_configs = {}
diff --git a/skywalking/loggings.py b/skywalking/loggings.py
index 35fc16d..395abe1 100644
--- a/skywalking/loggings.py
+++ b/skywalking/loggings.py
@@ -20,8 +20,19 @@ import logging
from skywalking import config
+def getLogger(name=None):
+ logger = logging.getLogger(name)
+ ch = logging.StreamHandler()
+ formatter = logging.Formatter('%(name)-32s [%(threadName)-15s]
[%(levelname)-8s] %(message)s')
+ ch.setFormatter(formatter)
+ logger.addHandler(ch)
+
+ return logger
+
+
+logger = getLogger('skywalking')
+
+
def init():
- logging.basicConfig(
- level=logging.getLevelName(config.logging_level),
- format='%(name)-32s [%(threadName)-15s] [%(levelname)-8s] %(message)s',
- )
+ logging.addLevelName(logging.CRITICAL + 10, 'OFF')
+ logger.setLevel(logging.getLevelName(config.logging_level))
diff --git a/skywalking/plugins/__init__.py b/skywalking/plugins/__init__.py
index 01d297f..7aae8f5 100644
--- a/skywalking/plugins/__init__.py
+++ b/skywalking/plugins/__init__.py
@@ -16,6 +16,7 @@
#
import inspect
import logging
+from skywalking.loggings import logger
import pkgutil
import re
import traceback
@@ -28,8 +29,6 @@ from skywalking import config
import skywalking
-logger = logging.getLogger(__name__)
-
def install():
disable_patterns = config.disable_plugins
diff --git a/skywalking/plugins/sw_django.py b/skywalking/plugins/sw_django.py
index 9229acc..c7f3d80 100644
--- a/skywalking/plugins/sw_django.py
+++ b/skywalking/plugins/sw_django.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import Layer, Component, config
from skywalking.trace import tags
@@ -22,8 +21,6 @@ from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
version_rule = {
"name": "django",
"rules": [">=2.0"]
diff --git a/skywalking/plugins/sw_elasticsearch.py
b/skywalking/plugins/sw_elasticsearch.py
index a128582..0d64db4 100644
--- a/skywalking/plugins/sw_elasticsearch.py
+++ b/skywalking/plugins/sw_elasticsearch.py
@@ -14,15 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import Layer, Component, config
from skywalking.trace import tags
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from elasticsearch import Transport
diff --git a/skywalking/plugins/sw_flask.py b/skywalking/plugins/sw_flask.py
index 320e104..3b7e16c 100644
--- a/skywalking/plugins/sw_flask.py
+++ b/skywalking/plugins/sw_flask.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import Layer, Component, config
from skywalking.trace import tags
@@ -23,8 +22,6 @@ from skywalking.trace.context import get_context
from skywalking.trace.span import NoopSpan
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from flask import Flask
diff --git a/skywalking/plugins/sw_http_server.py
b/skywalking/plugins/sw_http_server.py
index 28f83a7..7a6735a 100644
--- a/skywalking/plugins/sw_http_server.py
+++ b/skywalking/plugins/sw_http_server.py
@@ -14,8 +14,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+
import inspect
-import logging
from skywalking import Layer, Component
from skywalking.trace import tags
@@ -23,8 +23,6 @@ from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from http.server import BaseHTTPRequestHandler
diff --git a/skywalking/plugins/sw_kafka.py b/skywalking/plugins/sw_kafka.py
index edea665..7ca1f5f 100644
--- a/skywalking/plugins/sw_kafka.py
+++ b/skywalking/plugins/sw_kafka.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import config
from skywalking import Layer, Component
@@ -23,8 +22,6 @@ from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from kafka import KafkaProducer
diff --git a/skywalking/plugins/sw_pymongo.py b/skywalking/plugins/sw_pymongo.py
index 7a931f4..01e3763 100644
--- a/skywalking/plugins/sw_pymongo.py
+++ b/skywalking/plugins/sw_pymongo.py
@@ -15,16 +15,12 @@
# limitations under the License.
#
-import logging
-
from skywalking import Layer, Component, config
from skywalking.trace import tags
from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
version_rule = {
"name": "pymongo",
"rules": [">=3.7.0"]
diff --git a/skywalking/plugins/sw_pymysql.py b/skywalking/plugins/sw_pymysql.py
index 9eba360..4adcabf 100644
--- a/skywalking/plugins/sw_pymysql.py
+++ b/skywalking/plugins/sw_pymysql.py
@@ -14,15 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
+
from skywalking import Layer, Component, config
from skywalking.trace import tags
from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from pymysql.cursors import Cursor
diff --git a/skywalking/plugins/sw_rabbitmq.py
b/skywalking/plugins/sw_rabbitmq.py
index 8feed06..9e87642 100644
--- a/skywalking/plugins/sw_rabbitmq.py
+++ b/skywalking/plugins/sw_rabbitmq.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import Layer, Component
from skywalking.trace import tags
@@ -22,8 +21,6 @@ from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from pika.channel import Channel
diff --git a/skywalking/plugins/sw_redis.py b/skywalking/plugins/sw_redis.py
index e1396d3..55113bf 100644
--- a/skywalking/plugins/sw_redis.py
+++ b/skywalking/plugins/sw_redis.py
@@ -14,15 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import Layer, Component
from skywalking.trace import tags
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from redis.connection import Connection
diff --git a/skywalking/plugins/sw_requests.py
b/skywalking/plugins/sw_requests.py
index af88516..52937a5 100644
--- a/skywalking/plugins/sw_requests.py
+++ b/skywalking/plugins/sw_requests.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
from skywalking import Layer, Component
from skywalking.trace import tags
@@ -23,8 +22,6 @@ from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
from skywalking import config
-logger = logging.getLogger(__name__)
-
def install():
from requests import Session
diff --git a/skywalking/plugins/sw_tornado.py b/skywalking/plugins/sw_tornado.py
index a7fae19..00d9ca5 100644
--- a/skywalking/plugins/sw_tornado.py
+++ b/skywalking/plugins/sw_tornado.py
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-import logging
+
from inspect import iscoroutinefunction, isawaitable
from skywalking import Layer, Component
@@ -23,8 +23,6 @@ from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from tornado.web import RequestHandler
diff --git a/skywalking/plugins/sw_urllib3.py b/skywalking/plugins/sw_urllib3.py
index 5ac1c2f..446d453 100644
--- a/skywalking/plugins/sw_urllib3.py
+++ b/skywalking/plugins/sw_urllib3.py
@@ -15,16 +15,12 @@
# limitations under the License.
#
-import logging
-
from skywalking import Layer, Component
from skywalking.trace import tags
from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
from urllib3.request import RequestMethods
diff --git a/skywalking/plugins/sw_urllib_request.py
b/skywalking/plugins/sw_urllib_request.py
index a0e81d8..8aec5cd 100644
--- a/skywalking/plugins/sw_urllib_request.py
+++ b/skywalking/plugins/sw_urllib_request.py
@@ -15,7 +15,6 @@
# limitations under the License.
#
-import logging
from urllib.request import Request
from skywalking import Layer, Component
@@ -24,8 +23,6 @@ from skywalking.trace.carrier import Carrier
from skywalking.trace.context import get_context
from skywalking.trace.tags import Tag
-logger = logging.getLogger(__name__)
-
def install():
import socket
diff --git a/skywalking/trace/context.py b/skywalking/trace/context.py
index 39b80ef..61b0635 100644
--- a/skywalking/trace/context.py
+++ b/skywalking/trace/context.py
@@ -15,7 +15,6 @@
# limitations under the License.
#
-import logging
import threading
from typing import List
@@ -28,8 +27,6 @@ from skywalking.trace.span import Span, Kind, NoopSpan,
EntrySpan, ExitSpan
from skywalking.utils.ant_matcher import fast_path_match
from skywalking.utils.counter import Counter
-logger = logging.getLogger(__name__)
-
class SpanContext(object):
def __init__(self):