問題タブ [log4jdbc]

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.

0 投票する
0 に答える
232 参照

log4j - Weblogic、log4j および log4jdbc、ファイルにログインするがコンソールにはログインしない

Weblogic では、log4jdbc を使用して、(org.jdbcdslog.StatementLogger を使用して) クエリを特定のファイルにのみ記録する必要がありますが、コンソールには記録しません。

このパラメータでWeblogicを起動しようとしました

-Dlog4j.configuration=file:%LOG4JDBC_HOME%\log4j.xml

これは log4.xml ファイルの内容です

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"&gt; <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender"> <param name="Threshold" value="DEBUG" /> <param name="File" value="./logs/aladin.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{dd-MM-yyyy HH:mm:ss} %-5p %-30.30c %m%n" /> </layout> </appender> <category name="org.jdbcdslog.StatementLogger"> <priority value="INFO" /> <appender-ref ref="fileAppender" /> </category> <category name="org.jdbcdslog.ResultSetLogger"> <priority value="FATAL" /> <appender-ref ref="fileAppender" /> </category> <root> <level value="DEBUG" /> <appender-ref ref="fileAppender" /> </root>

問題は、コンソールに org.jdbcdslog.StatementLogger と org.jdbcdslog.ResultSetLogger のいずれかが INFO レベルでログに記録されていることです。aladin.log (ログインしたい唯一のファイル) に org. .jdbcdslog.StatementLogger および org.jdbcdslog.ResultSetLogger クラス。

これら 2 つのクラスをコンソールではなく aladin.log にのみ記録する方法はありますか?

0 投票する
1 に答える
192 参照

java - log4jdbc 強制的に ConnectionSpy ドライバーを返す

何らかの理由で私が使用するとき:

私は異なる接続を取り戻す傾向があります。この場合、次のものが混在しています。

  1. connection = (org.apache.derby.impl.jdbc.EmbedConnection) org.apache.derby.impl.jdbc.EmbedConnection@2001280736 (XID = 598), (SESSIONID = 1), (DATABASE = /home/user/mydb), (DRDAID = null) - 私が欲しくないもの

と:

  1. connection = (net.sf.log4jdbc.ConnectionSpy) net.sf.log4jdbc.ConnectionSpy@32b260fa- 私が欲しいもの

より具体的には、public static void mainメソッドを使用して実行すると動作し、元に戻ります#2が、Web アプリケーションの起動サイクルを実行した後に同じコードを実行すると、#1.

log4jdbc常に返すように強制する方法はありnet.sf.log4jdbc.ConnectionSpyますか?

0 投票する
3 に答える
304 参照

java - 共有ライブラリ jar からの ClassNotFound

JDBCAppender を使用して、log4j2.xml でレコードをデータベースに記録するために使用されるアプリケーションを開発しました。私はここで次の指示に従いました: - http://self-learning-java-tutorial.blogspot.in/2015/10/log4j2-jdbcappender-write-log-messages.html

java.sql.Connection をインポートします。

私のlog4j2.xmlスニペットは次のとおりです:-

これですべて正常に動作し、DB でログを確認できます。

しかし、このプロジェクトを共通の共有ライブラリ jar にして他のアプリケーションで依存関係として使用するために、このプロジェクトを jar ファイルとしてエクスポートすると、ClassNotFoundException が発生します。

したがって、この共有jarファイルを依存関係として持つアプリケーションを起動するたびに、次のようになります:-

この ConnectionFactory Java クラスが共有 jar のクラスパスに入らない理由はわかりませんが、上記のアプリケーションとして実行すると正常に動作します。

jar のクラスパスに ConnectionFactory Java クラスを含める方法を提案してください。では、log4j2.xml を変更する必要がありますか?