次のlog4j2構成があります
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="TRACE">
<Appenders>
<RollingRandomAccessFile name="SQLTiming" fileName="${web:rootDir}/log/SQLTiming.log"
filePattern="${web:rootDir}/log/SQLTiming-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{2} - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingRandomAccessFile>
<Console name="CONSOLE">
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{2} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="jdbc.sqltiming" level="info" additivity="false">
<AppenderRef ref="SQLTiming" />
</Logger>
<Root level="error">
<AppenderRef ref="CONSOLE" />
</Root>
</Loggers>
</Configuration>
slf4j 経由でロガーを取得しようとすると
protected static Logger logger = LoggerFactory.getLogger(DbConn.class);
Log4j はアペンダーの作成に失敗します。log4j2 ソースを調べたところ、ファイルを作成しようとしましたがC:\Program Files\eclipse\${web:rootDir}\log\SQLTiming.log
(失敗しました)、log4j がルックアップを処理しなかったようです。
Tomcat 7.0.4 でアプリケーションを実行しており、http://logging.apache.org/log4j/2.x/manual/lookups.htmlで提案されている構文を使用しています。$${web:rootDir} (2 つの $ マーク付き) を使用してみましたが、その結果、$-s の 1 つが削除されましたが、検索はまだ成功しませんでした。実際、他のルックアップはどれも成功しませんでした (環境変数など)。Log4j のバージョンは 2.0 beta9 です。
他の誰かがこれに似たものを見たことがありますか? 何か不足していますか?