[ https://issues.apache.org/jira/browse/LOG4J2-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13862768#comment-13862768 ]
Matt Sicker commented on LOG4J2-442: ------------------------------------ Alright, I've been at this for a while, and I've gotten it to work. Here's what I did (using HSQLDB): {code:xml} <?xml version="1.0" encoding="UTF-8"?> <configuration status="OFF"> <appenders> <JDBC name="databaseAppender" tableName="log"> <ConnectionFactory class="org.mjunx.HyperConnectionFactory" method="getDataSource"/> <Column name="eventDate" isEventTimestamp="true"/> <Column name="level" pattern="%level"/> <Column name="logger" pattern="%logger"/> <Column name="message" pattern="%message"/> <Column name="exception" pattern="%ex{full}"/> </JDBC> </appenders> <loggers> <root level="info" includeLocation="true"> <appender-ref ref="databaseAppender"/> </root> </loggers> </configuration> {code} And the connection factory: {code:java} package org.mjunx; import org.hsqldb.jdbc.JDBCDataSourceFactory; import javax.sql.DataSource; import java.util.Properties; public class HyperConnectionFactory { private static final Properties p; static { p = new Properties(); p.setProperty("url", "jdbc:hsqldb:file:/opt/dev/logdb/log"); p.setProperty("user", "SA"); p.setProperty("password", ""); } public static DataSource getDataSource() throws Exception { return JDBCDataSourceFactory.createDataSource(p); } } {code} Since I'm not entirely sure how to set up JNDI sources in WebSphere (Liberty profile version), I can't test that part out. I'm not entirely sure if the DriverManager version worked or not because I was having database locking issues from all the undeploy/deploy operations and such I've been doing to test this out. The only other possibly relevant things I've got for this would be my pom file: {code:xml} <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.mjunx</groupId> <artifactId>websphere-logging</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>websphere-logging</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.0RC1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>${project.name}</finalName> <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes</outputDirectory> <plugins> <plugin> <artifactId>maven-ear-plugin</artifactId> <version>2.9</version> <configuration> <encoding>UTF-8</encoding> <version>6</version> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>com.ibm.websphere.wlp.maven.plugins</groupId> <artifactId>liberty-maven-plugin</artifactId> <version>1.1</version> <extensions>true</extensions> <configuration> <serverHome>/opt/dev/wlp</serverHome> </configuration> </plugin> </plugins> </build> </project> {code} > 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 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? > THX. -- This message was sent by Atlassian JIRA (v6.1.5#6160) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org