方法1:デフォルト構成を採用する
1.web.xmlで構成します
2.リソースリソースパスの下にlog4j2構成ファイルを追加します。ファイル名はlog4j2.xmlであることに注意してください。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="1800">
<properties>
<property name="LOG_HOME">D:/logs-dxk-ssmbasics</property>
<property name="FILE_NAME">finance-pay</property>
</properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<!--日志输出路径-->
<RollingFile name="running-log" fileName="${LOG_HOME}/${FILE_NAME}.log"
filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
immediateFlush="true">
<PatternLayout
pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.nn.*" level="trace" additivity="true">
<AppenderRef ref="running-log"/>
</Logger>
<Root level="info">
<!-- 这里是输入到文件,很重要-->
<AppenderRef ref="running-log"/>
<!-- 这里是输入到控制台-->
<AppenderRef ref="Console"/>
</Root>
<!--这里不再进行配置打印sql 可以到druid监控中心查看http://localhost:8080/ssm/druid-->
</Loggers>
</Configuration>
方法2(推奨):
1. xmlで構成します。構成ファイルのパスを変更して、強迫性障害の患者(私)に対処できます。
2.ServletContextListenerを実装します
public class Log4j2ConfigListener implements ServletContextListener {
private static final String KEY = "log4jConfigLocation";
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
String fileName = getContextParam(arg0);
Configurator.initialize("Log4j2", fileName);
}
private String getContextParam(ServletContextEvent event) {
Enumeration<String> names = event.getServletContext().getInitParameterNames();
while (names.hasMoreElements()){
String name = names.nextElement();
String value = event.getServletContext().getInitParameter(name);
if(name.trim().equals(KEY)){
return value;
}
}
return null;
}
}
3.構成ファイルの内容は、最初のメソッドlog4j2.xmlの内容と同じです(これで、詳細な構成が完了しました。自分で見つけることができます。ここでは簡単な構成のみを行いました)
以下は、構成中に発生したエラーであり、次の---- ""を参照できます。
最初の方法は、構成ファイルがリソースの下に配置されておらず、構成ファイルが見つからない場合にエラーを報告します(公式のデフォルトでは、構成ファイルlog4j2.xmlをリソースパス-resourceの下に配置します)。
12-Nov-2018 13:51:26.488 INFO [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars少なくとも1つのJARがTLDについてスキャンされましたが、TLDは含まれていません。スキャンされたがTLDが見つからなかったJARの完全なリストについては、このロガーのデバッグログを有効にしてください。スキャン中に不要なJARをスキップすると、起動時間とJSPコンパイル時間を改善できます。
エラーStatusLoggerlog4j2構成ファイルが見つかりません。デフォルト構成の使用:エラーのみをコンソールに記録します。システムプロパティ 'log4j2.debug'を設定して、Log4j2の内部初期化ログを表示します。