在关于如何使用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}})变成了

在Application Insights UI中。
这一切都很好,但是从customDimensions中删除默认包含的项(比如fileName和process )的目的是什么呢
发布于 2020-10-29 00:17:56
通过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')这是在opencensus-ext-azure版本1.0.5中测试和工作的。

另请注意,使用此方法,在记录日志时不再需要指定extra。
https://stackoverflow.com/questions/64576336
复制相似问题