Zeroc冰测井工具

ice-yml-log-formatter的Python项目详细描述


logging.conf示例

# https://docs.python.org/3.6/library/logging.config.html
#
# Level               Numeric value
# CRITICAL      50
# ERROR         40
# WARNING       30
# INFO          20
# DEBUG         10
# NOTSET        0
# higher level - less logs

[loggers]
keys=root

[handlers]
keys=consoleHandler

[logger_root]
level=DEBUG
handlers=consoleHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=consoleFormatter
args=(sys.stdout,)

[formatter_consoleFormatter]
class=ice_yml_log_formatter.YAMLLogFormatter
format=[%(levelname)s] %(name)s: %(msg)s
datefmt=

简单用法示例

importosimportlogging.configimportlogginglogging.config.fileConfig('./logging.conf')#....#....# in your ice servant methodtry:raiseException('Any cause')except:logging.exception('Oops!',extra={'ice_current':current,'context':{'any_info_key':'any info value',},})

使用ice_current打印ICE请求元数据,使用context打印额外的结构化信息。

日志示例

[DEBUG] services.fun - Dispatch
  iceIdentity: ZeroC/Fun
  iceOperation: something
  iceRequestId: 1

[ERROR] services.fun - Unexpected error
  iceIdentity: ZeroC/Fun
  iceOperation: something
  iceRequestId: 1
  context:
    any_info_key: any info value
  Error: Fun::ExampleException
    error_data:
      some_prop: 1
    stack_trace:
      File "path-to-source/fun.py", line 71, in wrapped
        return method(self, *args, **kwargs)

      File "path-to-source/fun.py", line 123, in something
        raise Fun.ExampleException(some_prop=1)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVAutil。整数java的扫描器键盘输入   java通知运行后立即崩溃   java如何在一个只能由类修改而不能由其实例修改的类中生成静态变量?   数据库Java字段猜测   返回值周围的java括号为什么?   java Android更新通讯录中的联系人   一个消费者正在读取数据   java是否可以通过编程方式为蓝牙配对设置pin?   java Spring引导和buildResponseEntity()   java为什么序列化可以在没有实现可序列化的情况下工作   Java同步无助于相互排斥   twitter Java Twitter4J未在推文下显示源标签   为什么Javasocket不支持中断处理?