Použití zpětného protokolování k zápisu protokolů do vlastního trvalého úložiště
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na:✅ Java ❎ C#
Tento článek se vztahuje na:✅ Basic/Standard ✅ Enterprise
V tomto článku se dozvíte, jak načíst protokoly zpětného protokolování a zápisu do vlastního trvalého úložiště v Azure Spring Apps.
Poznámka:
Pokud má soubor v cestě třídy aplikace jeden z následujících názvů, Spring Boot ho automaticky načte přes výchozí konfiguraci pro zpětný protokol:
- logback-spring.xml
- logback.xml
- logback-spring.groovy
- logback.groovy
Požadavky
- Existující prostředek úložiště svázaný s instancí Azure Spring Apps Pokud potřebujete vytvořit vazbu na prostředek úložiště, přečtěte si téma Postup povolení vlastního trvalého úložiště v Azure Spring Apps.
- Závislost zpětného protokolu zahrnutá do vaší aplikace. Další informace o zpětném přihlašování najdete v průvodci zpětným protokolem.
- Rozšíření Azure Spring Apps pro Azure CLI
Úprava konfigurace zpětného zápisu protokolů do konkrétní cesty
Cestu k umístění, kam se protokoly zapíšou, můžete nastavit pomocí ukázkového souboru logback-spring.xml.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="Console"
class="ch.qos.logback.core.ConsoleAppender">
<!-- please feel free to customize the log layout -->
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<appender name="RollingFile"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 'LOGS' here is a value to be read from the application's environment variable -->
<file>${LOGS}/spring-boot-logger.log</file>
<!-- please feel free to customize the log layout pattern -->
<encoder
class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily and when the file reaches 10 MegaBytes -->
<fileNamePattern>${LOGS}/archived/spring-boot-logger-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- LOG everything at the INFO level -->
<root level="info">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</root>
<!-- LOG "com.baeldung*" at the TRACE level -->
<logger name="com.baeldung" level="trace" additivity="false">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</logger>
</configuration>
V předchozím příkladu jsou v cestě dva zástupné symboly, {LOGS}
do které se zapisují protokoly aplikace. Hodnota musí být přiřazena proměnné prostředí LOGS
, aby protokol zapisovali do konzoly i do trvalého úložiště.
Použití Azure CLI k vytvoření a nasazení nové aplikace se zpětným přihlašováním v trvalém úložišti
Pomocí následujícího příkazu vytvořte aplikaci v Azure Spring Apps s povoleným trvalým úložištěm a sadou proměnných prostředí:
az spring app create \ --resource-group <resource-group-name> \ --name <app-name> \ --service <spring-instance-name> \ --persistent-storage <path-to-json-file> \ --env LOGS=/byos/logs
Poznámka:
Hodnota
LOGS
proměnné prostředí může být stejná jako podadresářmountPath
.Tady je příklad souboru JSON předaného parametru
--persistent-storage
v příkazu create. V tomto příkladu se stejná hodnota předá proměnné prostředí v příkazu rozhraní příkazového řádku výše a vemountPath
vlastnosti níže:{ "customPersistentDisks": [ { "storageName": "<Storage-Resource-Name>", "customPersistentDiskProperties": { "type": "AzureFileVolume", "shareName": "<Azure-File-Share-Name>", "mountPath": "/byos/logs", "readOnly": false } } ] }
K nasazení aplikace použijte následující příkaz:
az spring app deploy \ --resource-group <resource-group-name> \ --name <app-name> \ --service <spring-instance-name> \ --artifact-path <path-to-jar-file>
Pomocí následujícího příkazu zkontrolujte protokol konzoly vaší aplikace:
az spring app logs \ --resource-group <resource-group-name> \ --name <app-name> \ --service <spring-instance-name>
Přejděte k prostředku účtu úložiště Azure, který jste vázali, a vyhledejte sdílenou složku Azure, která byla připojena jako trvalé úložiště. V tomto příkladu se protokoly zapíšou do souboru spring-boot-logger.log v kořenovém adresáři sdílené složky Azure. Všechny otočené soubory protokolu budou uloženy ve složce /archivované ve sdílené složce Azure.
Volitelně můžete pomocí následujícího příkazu aktualizovat cestu nebo trvalé úložiště existující aplikace:
Cestu nebo trvalé úložiště, do kterého se protokoly ukládají, je možné kdykoli změnit. Aplikace se restartuje, když dojde ke změnám proměnných prostředí nebo trvalém úložišti.
az spring app update \ --resource-group <resource-group-name> \ --name <app-name> \ --service <spring-instance-name> \ --persistent-storage <path-to-new-json-file> \ --env LOGS=<new-path>