带有Java的Azure函数-如何获取函数中写入的日志?
来源:爱站网时间:2021-09-16编辑:网友分享
我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在pom.xml中添加了logback-classic和lombok进行日志记录。但是日志未显示在功能的监视器上> ...
问题描述
我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在logback-classic
中添加了lombok
和pom.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.functions azure-functions-java-library 1.3.0 org.apache.commons commons-lang3 3.7 ch.qos.logback logback-classic 1.2.3 org.projectlombok lombok 1.16.20 EDIT
EDIT 2
:添加了本地执行的屏幕截图,并在门户中部署了一个。我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在pom.xml中添加了logback-classic和lombok进行日志记录。但是日志未显示在功能的监视器上> ...
思路:
None