【log4j】に関する知恵袋
【質問】
Log4Jでファイルにログを出力したいlog4Jを使ってファイルにログを出力したいのですが、うまくいきません。log4jの知恵袋を理解したいのであれば、以下、プロパティファイルとサンプルコードですが何がおかしいか教えて下さい。(プロパティファイル)→log4j.propertiesという名前でソースやクラスと同じディレクトリに置きました。log4jの知恵袋について考えると、## direct messages to file mylog.log ###log4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=mylog.loglog4j.appender.file.Append=truelog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d %5p %c{1} - %m%n(サンプルコード)import java.io.*;import java.util.logging.Logger;import org.apache.log4j.*;public class log4JTest { static Logger logger = Logger.getLogger("Sample"); public static void main(String[] args) { Logger logger = Logger.getLogger(log4JTest.class); PropertyConfigurator.configure("log4j.properties"); logger.debug("debug"); logger.info("info"); logger.warn("warn"); logger.error("error"); logger.fatal("fatal");}}CLASSPATHを設定した後、データの復旧の明日なら、データの復旧の明日を言及していくと、コンパイルして実行してみたところ以下のようなエラーが出ました。log4JTest.java:8: cannot find symbolsymbol : method getLogger(java.lang.Class<log4JTest>)location: class java.util.logging.Logger Logger logger = Logger.getLogger(log4JTest.class); ^log4JTest.java:11: cannot find symbolsymbol : method debug(java.lang.String)location: class java.util.logging.Logger logger.debug("debug"); ^log4JTest.java:13: cannot find symbolsymbol : method warn(java.lang.String)location: class java.util.logging.Logger logger.warn("warn"); ^log4JTest.java:14: cannot find symbolsymbol : method error(java.lang.String)location: class java.util.logging.Logger logger.error("error"); ^log4JTest.java:15: cannot find symbolsymbol : method fatal(java.lang.String)location: class java.util.logging.Logger logger.fatal("fatal"); ^5 errors
【解答】
log4jの知恵袋を解説します。まず、java.util.logging の Logger ではなく、データの復旧の明日を説明すると、org.apache.log4j.Logger を使うようにすればよいと思います。import java.util.logging.Logger;この行を削除するとどうなるでしょう?あと、logger が static Logger logger と main の中にある Logger logger の 2つあるのはよくないと思います。データの復旧の明日については、ここまでがlog4jの知恵袋についての詳細です。
