0

Tomcat で完全に実行される spring mvc アプリケーションを開発しましたが、サーバー tomcat から取得しているログはコンソールにあります。そのログをファイルに保存したい、つまり、Tomcat のログとイベントが必要です。コンソールに表示され、ファイルに保存されます。Apacheのlog 4jを試しました。以下は、使用しているプロパティファイルです...

    ### direct messages to file or.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=C:/logs/springmvc.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n
log4j.appender.file.append=true

### set log levels - for more verbose logging change 'info' to 'debug' ##
log4j.rootCategory=ALL, file
log4j.logger.Demo=\=debug
log4j.logger.org.eclipse=debug

そしてメインクラス..log.infoステートメントを記録したい..

public class HelloWorldController extends AbstractController{
    protected final Log logger = LogFactory.getLog(getClass());
    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request,
        HttpServletResponse response) throws Exception {
        logger.info("Returning hello view");
        ModelAndView model = new ModelAndView("HelloWorldPage");
        model.addObject("msg", "saral saxreva");

        return model;
    }
}

それでもログは別のファイルに生成されません。これで行き詰まっているのでアドバイスしてください。

4

2 に答える 2

0

プログラムの起動時に springmvc.log ファイルも作成されますか? これは、log4j が適切に取得されているかどうかの最初の兆候です。

  • log4j プロパティ ファイルが正しい場所にあり、適切に取得されていることを確認します
  • ロガー クラスと LogFactory クラスのインポート ステートメントを再確認します (log4j クラスを使用していることを確認するため)。

log4j が適切に設定されている場合、アプリの起動時に作成された springmvc.log ファイルが表示されます。

次に、log4j のプロパティで、次のことを試してください。

log4j.rootLogger=DEBUG,file

また、あなたが持っている他の2つを取り除きます

log4j.logger.Demo=\=debug
log4j.logger.org.eclipse=debug
于 2012-07-09T14:47:36.100 に答える
0

Web アプリでのログインを有効にするには、それを初期化するリスナー (またはサーブレット) が必要だと思います。たとえば、Spring では、web.xml で次のようなリスナーを定義する必要があります。

<!-- This listener is necessary to enable log4j logging -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

インターネットには、これに関する多くの情報があります。ここにグーグルからの最初のリンクがあります。これは、サーブレットまたはSpringなしのリスナーでロガーを初期化する方法を説明する別のリンクです。

また、last は非推奨であるため、 log4j.rootCategoryの代わりにlog4j.rootLoggerを使用することをお勧めします。

于 2012-07-09T14:47:44.970 に答える