問題タブ [tomcat-juli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tomcat - tomcat 8.0 のログを毎日ローリングする方法、特に localhost ログ ファイル
タイトルに書かれているように、ローカルホスト ログ ファイルのデイリー ローリング ファイル アペンダーが必要です。
次のように、logging.properties ファイルでいくつかの構成を試しました。
次のステートメントを追加しましたが、機能しません。
2localhost.org.apache.juli.AsyncFileHandler.limit = 102400 2localhost.org.apache.juli.AsyncFileHandler.count = 5
tomcat - Log4j2 JsonLayout + KeyValuePair が空の logEvent メッセージを出力するのはなぜですか
TL;DR log4j2.xml 構成でネストされた KeyValuePair で JsonLayout を使用している場合、結果のログ メッセージは空です。理由はありますか?
長い話
次のログ関連の JAR で Tomcat 8.5.43 を使用しています。
- ジャクソン-注釈-2.9.7.jar
- ジャクソン-コア-2.9.7.jar
- jackson-databind-2.9.7.jar
- slf4j-api-1.7.25.jar
- jcl-over-slf4j-1.7.25.jar
- log4j-api-2.12.0.jar
- log4j-core-2.12.0.jar
- log4j-jul-2.12.0.jar
- log4j-slf4j-impl-2.12.0.jar
- tomcat-extras-juli-8.5.2.jar (/bin の tomcat-juli.jar として)
- tomcat-extras-juli-adapters-8.5.2.jar
- log4j-web-2.12.0.jar (webapp 内)
および log4j2.xml 構成:
setenv.sh で、クラスパスを次のように設定しました。
そして、追加の JVM 引数を指定して Tomcat を実行します。
したがって、すべての Tomcat、JULI、Apache コモンズ、および Slf4j ロギングは、最終的に Log4J2 にリダイレクトする必要があります。
残念ながら、私が見るのはこれだけです:{"logEvent":"","foo":"bar"}
このようなものの代わりに:
{"thread":"main","level":"INFO","loggerName":"org.apache.catalina.startup.VersionLoggerListener","message":"Server version: Apache Tomcat/8.5.43","endOfBatch":false,"loggerFqcn":"org.apache.logging.log4j.jul.ApiLogger","threadId":1,"source":{"class":"org.apache.juli.logging.impl.Jdk14Logger","method":"log","file":"Jdk14Logger.java","line":87},"threadPriority":5,"instant":{"epochSecond":1562919500,"nanoOfSecond":701000000}}
KeyValuePair
すべてを削除すると、期待どおりに正常に動作します。
ここで何が問題なのですか?
java - 最新の tomcat-embed-logging-juli は、他の埋め込み成果物と一致しません。Tomcat の一部ではありませんか?
私は従来の Maven プロジェクトに取り組んでおり、組み込みの tomcat を使用しています。最近、セキュリティの脆弱性を修正する一環として、tomcat は最新バージョン 9.0.55 にアップグレードされました。しかし驚くべきことに、アーティファクトに対応するバージョンが表示されませんtomcat-embed-logging-juli
。プロジェクト用の slf4j ロギング ライブラリは既に用意されています。servletContext ログで書き込まれたログがないため、ライブラリ tomcat-embed-logging-juli 依存関係が本当に必要ですか? 以下は、私のpom.xmlの関連セクションです