Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-442

Log4j2 Database insert problem in Websphere



    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.0-beta8
    • 2.0-rc1
    • Appenders, Configurators
    • None
    • Java Web Service in Websphere server


      In my local,

      I created an log4j2.xml to config like that :

          <?xml version="1.0" encoding="UTF-8"?>
          <configuration status="OFF">
              <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
              <FastFile name="AsyncFastFile" fileName="${sys:logFilename}" 
                        immediateFlush="false" append="true">
                  <pattern>test %m %m %ex%n</pattern>
          <JDBC name="databaseAppender" tableName="mytablename">
                <DriverManager url="jdbc:oracle:thin:ORCL_USERNAME/PASS@//MYSERVERNAME:PORTNO/DBNAME" />
                <Column name="KEY1" pattern="%X{sayi1}" />
                <Column name="KEY2" pattern="%X{sayi2}" />
              <JDBC name="databaseAppenderJNDI" tableName="mytablename">
            <DataSource jndiName="java:/comp/env/jdbc/logWS" />
            <Column name="KEY1" pattern="%X{sayi1}" />
            <Column name="KEY2" pattern="%X{sayi2}" />
              <!-- pattern layout actually uses location, so we need to include it -->
              <asyncLogger name="ASYNC" level="TRACE" additivity="false">
                <appender-ref ref="databaseAppender"/>
       <!-- pattern layout actually uses location, so we need to include it -->
              <asyncLogger name="ASYNCwithJNDI" level="TRACE" additivity="false">
                <appender-ref ref="databaseAppenderJNDI"/>
              <root level="info" includeLocation="true">
                <appender-ref ref="databaseAppender"/>

      I can insert logs to text file and DB by switching loggername in my java class which I call log function. There no problem in my local.

      In Webshere server,

      I call a web service for logging. I am using same config file and same java codes which calls log function. I can insert logs to a file but I can't insert logs to database. I tried both driverManager url and JNDI. But nothing changed. In two ways, I can't insert log to DB and program doesn't throw any error in try-catch. So I can't find problem where is.

      Note : There is no problem at JNDI url and drivermanager url. Because I can perfectly use these urls in different webservice in webshere. Also I can insert log to Database in my local with same codes.

      Note : There is no problem to insert logs to txt file. only DB insertion is problem in Websphere server. So there isn't problem at config file classpath.

      For your info, I am using oracle DB but the problem isn't about DB.
      I trace network packages in server and I realize that web service don't send any package to DB. Packages don't reach to DB.

      How can I solve this problem?



        Issue Links



              beamerblvd Nick Williams
              taskend Barış Taşkend
              0 Vote for this issue
              3 Start watching this issue