1。目標を達成します
さまざまなビジネスのログ情報を異なるファイルに印刷する必要があり、1つのファイルが毎日または1時間ごとに生成されます。たとえば、登録された情報は登録済みに印刷され、登録年、月、日、day.logファイルは毎日の早朝に生成され、ログイン情報はlogin.logファイル、ログイン年、月、day.logに印刷されます。
2。Maven構成
<?xml version = "1.0" encoding = "utf-8"?> <プロジェクトxmlns = "http://maven.apache.org/pom/4.0.0" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation = "http://maven.apache.org/4.0. http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid> test</groupid> <arti Factid> common </artifactid> <version> 1.0-snapshot </version> <dependencies> <dependency> <groupid> org.slf4j </grou PID> <ARTIFACTID> SLF4J-API </ARTIFACTID> <バージョン> 1.7.6 </version> </dependency> <dependency> <segrougid> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> <バージョン>
3。構成ファイル
デフォルトでは、LOG4JはSRC/Main/Resources/Log4J.Propertiesファイルを解析します。以下は、log4.propertiesファイルのコンテンツです。
#### parent loggerlog4j.rootcategory = info、stdout ### child loggerが親ロガーのappenderに出力されるかどうか(log4j.rootcategory set set)、デフォルトはtrueです### true:子レベルのロガーは親のロガーが出力された後、### log4j.addivity.org.apache = truelogdir =/users/zhengcanrui/work/test/logslog4j.appender.stdout = org.apache.log4j.consoleappend erlog4j.appender.stdout.layout = org.apache.log4j.patternlayoutlog4j.appender.stdout.layout.conversionpattern =%p/:%d {yyyymmdd HH/:mm/:ss}%c/:%m%n ################################# log4j.appender.file = org.apache.log4j.dailyrollingfileappenderlog4j.appender.file.file = $ {logdir} /file.loglo g4j.appender.file.layout = org.apache.log4j.patternlayoutlog4j.appender.file.layout.conversionpattern =%d- [ts] %p%t%c -%m%n ##レジスタモジュール出力#####その後のログ情報を制御するために使用されます。次のような以下の情報は少なくとも登録ファイルに出力されます。 log4j.appender.register.file = $ {logdir}/register.loglog4j.appender.register.datepattern = '_' yyyy-mm-dd'.log'log4j.appender.register.register.layout = org.apache.log4j.perts.perpternlayout log4j.app4j.pat [%c%l%l] -m%nlog4j.additivity.register = true ## loginモジュール出力log4j.logger.login = info、login log4j.appender.login = org.apache.log4j.dailyrollingfileappender log4j.appendir.login.file = $ {dogdir構成ファイルから。このフォーマットファイルは、早朝にファイルを生成します。他の時間に新しいファイルを生成する場合は、datepattern log4j.appender.login.datepattern = '_' yyyy-mm-dd'.log'log4j.login.layout = org.apache.log4j.log4jのyyyy-mm-dd'.log'log4j.log'log4j.log'log4jの関連する構成を確認できます。 %p [%c] -%m%n#この子ロガー出力ログを出力にしないlog4j.additivityに設定しますlog4j.logger.com.mchange =エラーorg.apache.commons.http = error注意すべきいくつかの属性:
log4j.additivity-module名:子ロガーが親ロガーに出力されているかどうかを設定します。
モジュール名の命名:log4j.appender.module name.properties。
構成ファイルの各属性の意味は、http://www.cnblogs.com/0201zcr/p/4761505.htmlを表示できます。
4。テスト
Import org.apache.log4j.logger; import org.slf4j.loggeractory;/*** 16/7/27。 logger.getLogger( "login"); private static final logger goldcoin = logger.getLogger( "goldcoin"); private static final logger charge = logger.getLogger( "charge"); private static final logger jjj = logger.getLogger(loggerutil.class.getName()); private static final logger file = logger.getLogger( "appender1"); private static org.apache.log4j.logger log = logger.getLogger(loggerutil.class); public static void loginfo(string log){file.info(log);} public static void RegisterInfo(){register.info( "[Register] ddd");} public static void logininfo(){login.info( "[login] 222"); {/*loginfo("11"; registerinfo(); logininfo( );*///*login.info( "[login]大大大大大大大大"); Register.debug( "2222"); Register.info( "[みんな、登録]みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな全員、みんな、みんな、みんな、みんな、みんな、みんな、みんな全員、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな、みんな結果:
1)コンソール
情報:20160801 12:27:57 Appender1:334343
情報:20160801 12:27:57登録:2222
2)ファイルを生成します
3)ファイル内の内容
上記は、エディターが異なるファイルに紹介したさまざまなLOG4Jモジュールの出力です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!