我已经在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("<<<<<<<<<<<< INSIDE THE SERVICE HANDLE >>>>>>>>>>>>");
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项目的资源文件夹中。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{E MMM dd yyyy hh:mm:ss a} [%thread] %-5level %logger{36}
- %msg%n</pattern>
</encoder>
</appender>
<logger name="com.isl.test" level="INFO" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
而且我在pom.xml
中具有以下依赖项>
:附加了函数调用日志的门户屏幕截图...<dependencies> <dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> </dependency> </dependencies>
EDIT
EDIT 2
:添加了本地执行的屏幕截图,并在门户中部署了一个。我已经在Azure中使用Java部署了一个队列触发的Azure函数。我在pom.xml中添加了logback-classic和lombok进行日志记录。但是日志未显示在功能的监视器上> ...