我知道log4j2是用来记录信息的。我真的很困惑于log4jdbc的附录。它实际上是做什么的?我读过教程,但我真的不明白。当您通过jdbc将数据插入数据库时,它会记录这些信息吗??或者log4j2记录器实际上能够登录到数据库中?
常规jdbc可以执行以下操作:
String query ="INSERT INTO 'table' ('blah' ...";
Statement st;
st.executeUpdate(query);log4j异步记录器实际上是否具有与->st.executeUpdate(查询)相当的内容;哪个插入数据的速度要快得多??
谢谢你的努力!
发布于 2014-07-01 20:05:52
log4j2 JDBC将使用JDBC,并在每个日志事件中插入行。
JDBCAppender使用标准JDBC将日志事件写入关系数据库表。http://logging.apache.org/log4j/2.x/manual/appenders.html#JDBCAppender
至于
log4j异步记录器实际上是否具有与->st.executeUpdate(查询)相当的内容;哪个插入数据的速度要快得多??
异步附加程序不执行批处理插入(批处理执行executeBatch),这就是我所指的。批插入是由JDBC中的bufferSize控制的(参见前面的链接)。
异步追加程序是修饰器(它们像JDBC那样包装了附加程序),这样您的代码就不会在一个附加程序阻塞时阻塞(在本例中是executeBatch )。
还有另一个项目,我认为你混淆了log4jdbc-log4j2。该项目将使用log4j2记录您的SQL语句。
https://stackoverflow.com/questions/24518202
复制相似问题