[ 
https://issues.apache.org/jira/browse/LOG4J2-442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Barış Taşkend updated LOG4J2-442:
---------------------------------

    Description: 
In my local,

I created an log4j2.xml to config like that :

{code:title=log4j2.xml|borderStyle=solid}

    <?xml version="1.0" encoding="UTF-8"?>

    <configuration status="OFF">
      <appenders>
        <!-- Async Loggers will auto-flush in batches, so switch off 
immediateFlush. -->

        <FastFile name="AsyncFastFile" fileName="${sys:logFilename}" 
                  immediateFlush="false" append="true">
          <PatternLayout>
            <pattern>test %m %m %ex%n</pattern>
          </PatternLayout>
        </FastFile>

    <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>

        <JDBC name="databaseAppenderJNDI" tableName="mytablename">
      <DataSource jndiName="java:/comp/env/jdbc/logWS" />
      <Column name="KEY1" pattern="%X{sayi1}" />
      <Column name="KEY2" pattern="%X{sayi2}" />
     </JDBC>  


      </appenders>

      <loggers>


        <!-- pattern layout actually uses location, so we need to include it -->
        <asyncLogger name="ASYNC" level="TRACE" additivity="false">
          <appender-ref ref="databaseAppender"/>
        </asyncLogger>

 <!-- pattern layout actually uses location, so we need to include it -->
        <asyncLogger name="ASYNCwithJNDI" level="TRACE" additivity="false">
          <appender-ref ref="databaseAppenderJNDI"/>
        </asyncLogger>


        <root level="info" includeLocation="true">
          <appender-ref ref="databaseAppender"/>
        </root>

      </loggers>
    </configuration>
{code}

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 Wepshere 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 wepshere. 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 I can solve this problem?

THX.


  was:
In my local,

I created an log4j2.xml to config like that :

{code:title=log4j2.xml|borderStyle=solid}

    <?xml version="1.0" encoding="UTF-8"?>

    <configuration status="OFF">
      <appenders>
        <!-- Async Loggers will auto-flush in batches, so switch off 
immediateFlush. -->

        <FastFile name="AsyncFastFile" fileName="${sys:logFilename}" 
                  immediateFlush="false" append="true">
          <PatternLayout>
            <pattern>test %m %m %ex%n</pattern>
          </PatternLayout>
        </FastFile>

    <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>

        <JDBC name="databaseAppenderJNDI" tableName="mytablename">
      <DataSource jndiName="java:/comp/env/jdbc/logWS" />
      <Column name="KEY1" pattern="%X{sayi1}" />
      <Column name="KEY2" pattern="%X{sayi2}" />
     </JDBC>  


      </appenders>

      <loggers>


        <!-- pattern layout actually uses location, so we need to include it -->
        <asyncLogger name="ASYNC" level="TRACE" additivity="false">
          <appender-ref ref="databaseAppender"/>
        </asyncLogger>

 <!-- pattern layout actually uses location, so we need to include it -->
        <asyncLogger name="ASYNCwithJNDI" level="TRACE" additivity="false">
          <appender-ref ref="databaseAppenderJNDI"/>
        </asyncLogger>


        <root level="info" includeLocation="true">
          <appender-ref ref="databaseAppender"/>
        </root>

      </loggers>
    </configuration>
{code}

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 Wepshere 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 wepshere. 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.

How I can solve this problem?

THX.



> Log4j2 Database insert problem in Websphere
> -------------------------------------------
>
>                 Key: LOG4J2-442
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-442
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders, Configurators
>    Affects Versions: 2.0-beta8
>         Environment: Java Web Service in Websphere server
>            Reporter: Barış Taşkend
>            Priority: Blocker
>
> In my local,
> I created an log4j2.xml to config like that :
> {code:title=log4j2.xml|borderStyle=solid}
>     <?xml version="1.0" encoding="UTF-8"?>
>     <configuration status="OFF">
>       <appenders>
>         <!-- Async Loggers will auto-flush in batches, so switch off 
> immediateFlush. -->
>         <FastFile name="AsyncFastFile" fileName="${sys:logFilename}" 
>                   immediateFlush="false" append="true">
>           <PatternLayout>
>             <pattern>test %m %m %ex%n</pattern>
>           </PatternLayout>
>         </FastFile>
>     <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>
>         <JDBC name="databaseAppenderJNDI" tableName="mytablename">
>       <DataSource jndiName="java:/comp/env/jdbc/logWS" />
>       <Column name="KEY1" pattern="%X{sayi1}" />
>       <Column name="KEY2" pattern="%X{sayi2}" />
>      </JDBC>  
>       </appenders>
>       <loggers>
>         <!-- pattern layout actually uses location, so we need to include it 
> -->
>         <asyncLogger name="ASYNC" level="TRACE" additivity="false">
>           <appender-ref ref="databaseAppender"/>
>         </asyncLogger>
>  <!-- pattern layout actually uses location, so we need to include it -->
>         <asyncLogger name="ASYNCwithJNDI" level="TRACE" additivity="false">
>           <appender-ref ref="databaseAppenderJNDI"/>
>         </asyncLogger>
>         <root level="info" includeLocation="true">
>           <appender-ref ref="databaseAppender"/>
>         </root>
>       </loggers>
>     </configuration>
> {code}
> 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 Wepshere 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 wepshere. 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 I can solve this problem?
> THX.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to