1

次のようにlog4j jdbcappender構成があります:

 <appender name="jdbcAppender" class="bean.CustomJdbcAppender">
        <param name="jndiDataSource" value="myDS"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="INSERT INTO log_table (level, loc, msg) VALUES ( '%p','%C;%L', '%m' )"/>
        </layout>

log4jからデータベーステーブルにユーザー名を渡すにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

Use the MDC (Mapped Diagnostic Context), like this example.

So, somewhere you need to map the username, e.g.:

MDC.put("username", username);

In your log4j configuration, you can use it like this:

<param name="ConversionPattern"
      value="INSERT INTO log_table (level, loc, msg, username) VALUES ( '%p','%C;%L', '%m', '%X{username}' )"/>
于 2012-05-20T11:38:08.837 に答える