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):

Reply via email to