我们有一个记录到 Azure Application Insights 的应用程序服务。当应用服务中的日志聚合在 AppServiceConsoleLogs 表中时,尽管在应用程序中将日志级别设置为“信息”,但它们都被列为“错误”级别。有谁经历过这个或知道如何解决它吗?
我可以使用以下代码获取应用程序见解的日志。
from fastapi import FastAPI
import logging
from applicationinsights import TelemetryClient
from applicationinsights.requests import WSGIApplication
from fastapi.responses import PlainTextResponse
from fastapi.middleware.trustedhost import TrustedHostMiddleware
app = FastAPI()
instrumentation_key = 'your appinsights instrumentationkey'
telemetry_client = TelemetryClient(instrumentation_key)
app.add_middleware(TrustedHostMiddleware, allowed_hosts=["*"])
console_logger = logging.getLogger('console_logs')
console_logger.setLevel(logging.INFO)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_logger.addHandler(console_handler)
@app.get("/")
async def hello():
telemetry_client.track_trace("Information log (App Insights)", severity='Information')
telemetry_client.track_trace("Warning log (App Insights)", severity='Warning')
telemetry_client.track_trace("Error log (App Insights)", severity='Error')
console_logger.info("Information log (Console)")
console_logger.warning("Warning log (Console)")
console_logger.error("Error log (Console)")
telemetry_client.track_trace("Custom log (App Insights)", severity='Custom')
telemetry_client.flush()
return PlainTextResponse("Hello, World!")
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
以上代码在本地的状态:
登录applicationinsights:
我能够在应用程序洞察中获取日志,并且还会显示正确的严重性级别。
我正在获取应用程序服务日志以及日志级别状态。
输出: