簡體   English   中英

如何更改 Azure 函數中的日志級別

[英]How to change log level in Azure Functions

我們正在開發部署到 Azure Function 應用程序的幾個 Quarkus(撰寫本文時為 2.5.4)應用程序。

我們注意到,我們所有的日志,無論代碼的嚴重性如何,都會在應用程序洞察中顯示為信息。

public class ExampleClass {
    private static final Logger logger = LoggerFactory.getLogger(ExampleClass.class);

    public void welcome(@NotNull String name) {
        logger.trace("TRACE hello to {}", name);
        logger.debug("DEBUG hello to {}", name);
        logger.info("INFO hello to {}", name);
        logger.warn("WARN hello to {}", name);
        logger.error("ERROR hello to {}", name);
    }
}

我們已經將 jboss 日志管理器添加到我們的依賴項中:

    <dependency>
      <groupId>org.jboss.slf4j</groupId>
      <artifactId>slf4j-jboss-logmanager</artifactId>
    </dependency>

當我然后檢查日志時,它顯示為這樣

2022-02-24T07:58:14.325 [信息] 2022-02-24T07:58:14.308 [信息] 信息你好名字
2022-02-24T07:58:14.325 [信息] 2022-02-24T07:58:14.308 [WARN] WARN hello to name
2022-02-24T07:58:14.325 [信息] 2022-02-24T07:58:14.308 [錯誤] 錯誤你好名字

如您所見,Azure 以某種方式誤解了我們的日志嚴重性,並使所有內容都顯示在信息級別。

每行的第一部分(如2022-02-24T07:58:14.325 [Information] )由 Azure 添加,而該行的 rest 是 Quarkus 記錄到控制台的內容。

我明白為什么前兩個日志條目沒有出現,因為我們將最低級別設置為 INFO。

據我從文檔中了解到,Azure 會自動識別日志。 然而,這對我們來說似乎並非如此。

我們忘記了什么嗎?

每行的第一部分(如2022-02-24T07:58:14.325 [Information] )由 Azure 添加

默認情況下,可以在日志 stream 中添加[Information]

內置日志 stream:

日志 Stream 用於查看您的應用程序日志文件的 stream。 相當於本地開發調試函數時看到的output。 所有基於日志的信息都顯示在日志 Stream window 中。

Stream 日志:

在您 stream 實時登錄之前,啟用您要列出的日志類型。 寫入存儲在_/LogFiles_目錄 ( d:/home/logfiles ) 中的以.txt、.log 或 .htm結尾的文件的任何信息都由應用服務流式傳輸。 日志文件中寫入的任何內容都可以顯示在日志 Stream 中。

當地的在此處輸入圖像描述在門戶日志 Stream在此處輸入圖像描述 在上面的屏幕截圖中,您可以檢查本地日志中寫入的任何內容,這些日志可以添加到日志 Stream。默認情況下, running time and [Information]始終在日志 Stream 中可用(日志文件中的每一行新行在日志流中添加了2022-02-24T14:40:46.015 [Information] logline日志行)

請參閱此處了解更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM