带有Java的Azure函数-如何获取函数中写入的日志?

来源:爱站网时间:2021-09-16编辑:网友分享
我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在pom.xml中添加了logback-classic和lombok进行日志记录。但是日志未显示在功能的监视器上> ...

问题描述


我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在logback-classic中添加了lombokpom.xml进行记录。但是日志未显示在功能的monitor > invocation details或门户中的log-streaming service上。但是我可以看到用context.getLogger()编写的日志。使用logback logger的日志写入器不可见。请让我知道如何检查函数调用中的日志。

下面是队列触发的天蓝色函数句柄

public class QueueHandlerFunction {

  @FunctionName("queuetriggertest")
  public void queueMessageHandler(@QueueTrigger(name = "msg",
      queueName = "my-test-queue", connection = "MyQStorage") final String payload,
      final ExecutionContext context) {

    //Logs with this logger is visible
    context.getLogger().info("Received Message From my-test-queue : " + payload);

    MySampleService.handleQueueMessage(payload);
  }
}

以下是带有Lombok记录器的MySampleService

@Slf4j
public class MySampleService {

  public static void handleQueueMessage(final String payload) {

    log.info(">>>>>>>>>>>");
    if (StringUtils.isNotBlank(payload)) {
        log.info("Received Payload : {}", payload); //This log not available
        // TODO Work with incoming payload
    } else {
      log.info("Message payload is Blank."); //This log not available
    }
  }

}

下面是logback.xml放置在maven项目的资源文件夹中。

%d{E MMM dd yyyy hh:mm:ss a} [%thread] %-5level %logger{36}
                - %msg%n

而且我在pom.xml中具有以下依赖项>

com.microsoft.azure.functionsazure-functions-java-library1.3.0org.apache.commonscommons-lang33.7ch.qos.logbacklogback-classic1.2.3org.projectlomboklombok1.16.20

EDIT

:附加了函数调用日志的门户屏幕截图...

EDIT 2

:添加了本地执行的屏幕截图,并在门户中部署了一个。
  • 在本地执行时登录命令提示符

  • 来自门户的功能的实时流式控制台服务,用于队列中的新消息

  • 来自门户的功能的调用详细信息,用于队列中的新消息

我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在pom.xml中添加了logback-classic和lombok进行日志记录。但是日志未显示在功能的监视器上> ...

思路:


None

上一篇:如何监视由JPA和Hibernate执行的慢速SQL查询

下一篇:在Java 8中,默认情况下未选择可用的4个收集器(GC)

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载