Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
Plány Basic, Standarda Enterprise vstoupily do důchodového období 17. března 2025. Pro více informací si přečtěte oznámení o ukončení Azure Spring 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 Logback a zapisovat protokoly do vlastního trvalého úložiště v Azure Spring Apps.
Note
Pokud má soubor v classpath aplikace jeden z následujících názvů, Spring Boot ho automaticky načte namísto výchozí konfigurace pro Logback.
- logback-spring.xml
- logback.xml
- logback-spring.groovy
- logback.groovy
Prerequisites
- 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 Logback zahrnutá ve vaší aplikaci. Další informace o Logbacku najdete v průvodci Logbackem.
- Rozšíření Azure Spring Apps pro Azure CLI
Upravte konfiguraci Logbacku pro zapisování 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ých se zapisují protokoly aplikace. Do proměnné prostředí LOGS je nutné přiřadit hodnotu, aby protokol zapisoval 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/logsNote
Hodnota proměnné prostředí
LOGSmůže být stejná jakomountPathnebo to může být její podadresář.Tady je příklad souboru JSON předaného parametru
--persistent-storagev příkazu create. V tomto příkladu je stejná hodnota předána proměnné prostředí v příkazu CLI výše a vemountPathvlastnosti 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 na prostředek účtu úložiště Azure, ke kterému jste se připojili, a najděte 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 rotované soubory protokolu budou uloženy ve složce /archived ve vašem sdíleném úložišti 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>