使用opencensuspython时从应用程序洞察中删除customDimensions项

2024-06-11 02:52:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在关于如何使用opencensus-python向Azure Application Insights提交跟踪的the documentation中,详细说明了如何向customDimensions字段添加附加信息。就是

import logging

from opencensus.ext.azure.log_exporter import AzureLogHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureLogHandler(
    connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')
)

logger.error('blooh')
logger.error('blooh2', extra={'custom_dimensions': {'woot': 42}})

变成

enter image description here

在Application Insights UI中

这很好,但是从customDimensions中删除默认包含的项目的预期方法是什么;i、 e.像fileNameprocess这样的事情


Tags: thefromimport信息applicationloggingdocumentationerror
1条回答
网友
1楼 · 发布于 2024-06-11 02:52:26

通过inspection of the source code,似乎很难避免创建属性,但是可以通过对envelope进行后处理来删除它们:

import logging

from opencensus.ext.azure.log_exporter import AzureLogHandler

custom_dimensions = {'foo': 'bar'}

def remove_items(envelope):
    envelope.data.baseData.properties = custom_dimensions
    return True

logger = logging.getLogger(__name__)
handler = AzureLogHandler(connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')
handler.add_telemetry_processor(remove_items)
logger.addHandler(handler)
logger.error('blooh')

这是在{}版本1.0.5中测试和工作的

enter image description here

还请注意,使用这种方法,在日志记录时不再需要指定extra

相关问题 更多 >