我已经使用 Spring Cloud Functions 实现了 Azure Function App。我使用 lombok 注释 @Slf4j 来记录消息,但我无法在 azure 门户中看到我的日志文件。任何人都可以帮助我,我应该如何为此应用程序编写日志
我尝试过 sl4j 并希望在上述文件中打印日志。
有关 Azure Function 的信息会自动记录到应用程序洞察中。但要将有关您的应用程序的信息记录到 App Insight,您需要完成 App Insight 的设置。
https://learn.microsoft.com/en-us/azure/azure-monitor/app/java-spring-boot
pom.xml
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-runtime-attach</artifactId>
<version>3.4.18</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-core</artifactId>
<version>3.4.18</version>
</dependency>
配置applicationinsights.json
{
"connectionString":"InstrumentationKey=54ba6f5c-0590-xx;IngestionEndpoint=https://centralus-0.in.applicationinsights.azure.com/;LiveEndpoint=https://centralus.livediagnostics.monitor.azure.com/"
}
第一行是使用 ApplicationInsights.attach();
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
ApplicationInsights.attach();
SpringApplication.run(Config.class, args);
}
}
用于记录您的申请信息:
@Slf4j
@Component
public class EchoHandler {
@Autowired
private Function<String, String> echo;
@FunctionName("echo")
public String execute(@HttpTrigger(name = "req", methods = {HttpMethod.GET,
HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
String input = request.getBody().get();
log.error("Method echo " + input);
return echo.apply(input);
}
}