Хранить информацию о регистрации в базе данных оракула

В настоящее время я реализовал приложение Java Swing. В этом приложении я использовал java.util.logging для входа в текстовый файл. Но просмотреть текстовый файл сложно, так как файл очень большой.

Поэтому я думаю хранить информацию о регистрации в базе данных оракула (которую я использую для приложения) и предоставить интерфейс Swing для доступа к этой таблице. Таким образом, я смогу искать в этой таблице определенные уровни ведения журнала, такие как INFO и SEVER. Есть ли способ сделать это с помощью пакета java util или с помощью Log4j. Пожалуйста, помогите


person nath    schedule 23.12.2010    source источник


Ответы (3)


Взгляните на эти приложения: org.apache.log4j.jdbc.JDBCAppender или улучшенную версию org.apache.log4j.jdbcplus.JDBCAppender.

person bruno conde    schedule 23.12.2010

Вы можете написать свой собственный Appender, расширив файл org.apache.log4j.AppenderSkeleton. Вы можете настроить его для нескольких хранилищ данных и определить, как разделить LoggingEvent, где вы можете получить отдельную информацию, такую ​​как номер строки, имя класса, сообщение, серьезность регистратора и т. д.

public class StorageBasedAppender
    extends AppenderSkeleton
{
    [...]

    @Override
    protected void append(LoggingEvent event)
    {
        // Write to your database or other storages
    }
}

Вы можете улучшить этот класс, сделав его настраиваемым и т. д. Если вам не нужно что-то конкретное, в отношении других вопросов используйте JDBCAppenderConfiguration. . Который можно легко настроить

<appender name="jdbcAppender" class="org.apache.log4j.jdbc.JDBCAppender"> 
    <param name="URL" value="jdbc:oracle:thin:@sd1.hbs.edu:1521:sc1" /> 
    <param name="Driver" value="oracle.jdbc.driver.OracleDriver" /> 
    <param name="User" value="user" /> 
    <param name="Password" value="password" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" 
          value="INSERT INTO LOGGING_SAMPLES_TEST 
          (log_date, log_level, location, message) 
          VALUES ( '%d{ISO8601}','%p', '%C;%L', '%m' )" 
        /> 
    </layout> 
</appender> 
person Christopher Klewes    schedule 23.12.2010

Вы можете использовать JDBC Log4j Appender.

Ознакомьтесь с Tutorialspoint или Apache Wiki

Возможно, вам придется соответствующим образом изменить конфигурацию, независимо от того, используете ли вы .properties или .xml.

person Koekiebox    schedule 23.12.2010