Я хотел бы разделить журналы с каждым потоком, который я дал как RequestId. Однако есть проблема, которую я не знаю. Может быть, я ошибся / с.
Unable to create file C:\XXXX\XXXXXX\XXXX\logs\${ctx:RequestId}.log java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428)
at java.io.File.getCanonicalPath(File.java:618)
at java.io.File.getCanonicalFile(File.java:643)
at org.apache.logging.log4j.core.util.FileUtils.makeParentDirs(FileUtils.java:142)
Вот мой log4j. xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" >
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="" />
</Console>
<Routing name="Routing">
<Routes pattern="$${ctx:RequestId}">
<Route>
<RollingFile name="Rolling-${ctx:RequestId}" fileName="C:\XXXXX\XXXXXX\Desktop\logs\${ctx:RequestId}.log"
filePattern="C:\XXXXX\XXXXX\Desktop\logs\${ctx:RequestId}.%i.log.gz">
<PatternLayout>
<pattern></pattern>
</PatternLayout>
<Policies>
<OnStartupTriggeringPolicy />
</Policies>
</RollingFile>
</Route>
<Route key="${ctx:RequestId}" ref="Console" />
</Routes>
</Routing>
</Appenders>
<Loggers>
<Logger level="INFO" name="TRY_ME">
<AppenderRef ref="Routing"/>
</Logger>
<Root level="INFO">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>