I have a log table in my database that keeps track of login, logout, timeout, and what the user does while they are logged on. My Java is set up so that every time I do LOGGER.info(message), the message goes into the MESSAGE column of my table.
Here is the log4j.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<appender name="db" class="org.apache.log4j.jdbcplus.JDBCAppender">
<param name="connector" value="com.blahblahblah.jdbcplus.MySqlConnectionHandler" />
<param name="sql"
value="INSERT INTO LOG(LEVEL, MESSAGE, TIMESTAMP, HOST) VALUES ('@PRIO@', '@MSG@', '@TIMESTAMP@', 'Test')" />
<layout class="org.apache.log4j.PatternLayout"></layout>
</appender>
<!-- Application Loggers -->
<logger name="com.blahblahblah.service.ZebraService">
<level value="info" />
<appender-ref ref="db" />
</logger>
<logger name="com.blahblahblah.service.ZplTemplateService">
<level value="info" />
<appender-ref ref="db" />
</logger>
<logger name="com.blahblahblah.service.MyService">
<level value="info" />
<appender-ref ref="db" />
</logger>
<logger name="com.blahblahblah.web.controller.ViewController">
<level value="info" />
<appender-ref ref="db" />
</logger>
<logger name="com.blahblahblah.security">
<level value="info" />
<appender-ref ref="db" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="error" />
</logger>
<logger name="org.springframework.beans">
<level value="error" />
</logger>
<logger name="org.springframework.context">
<level value="error" />
</logger>
<logger name="org.springframework.web">
<level value="error" />
</logger>
<logger name="org.springframework.web.servlet.DispatcherServlet">
<level value="error" />
</logger>
<logger name="org.springframework.security">
<level value="error" />
</logger>
<logger name="org.springframework.aop">
<level value="error" />
</logger>
<logger name="org.springframework.ui">
<level value="error" />
</logger>
<!-- Root Logger -->
<root >
<priority value="error" />
<appender-ref ref="console" />
</root>
This prints "INFO" in the LEVEL column, my information about login/logout in the MESSAGE column, the timestamp in the TIMESTAMP column, and "Test" in the HOST column.
I want to have the HOST column be the local machine name. For example, my computer's name is PC-1050, so every time I do something on that computer, I want HOST to say "PC-1050".
I have no idea how to do the @MSG@, @TIMESTAMP@, etc. I was just following what I was told to do. Can anyone offer some assistance? Thanks.