當前位置:首頁 » 編程語言 » log4jxml配置sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

log4jxml配置sql

發布時間: 2022-10-08 18:21:27

⑴ mybatis怎麼配置log4j列印出sql語句

用log4j在控制台輸出,在web.xml中配置log4j.properties的路徑,properties文件
log4j.rootLogger=DEBUG, Console

#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

如果不想列印spring的DEBUG輸出請把第一行的DEBUG改為INFO

如何配置log4j2日誌記錄至資料庫

配置log4j2日誌記錄至資料庫


1、建立用於保存日誌的資料庫表:

CREATETABLE`sys_log`(
`id`int(11)NOTNULLAUTO_INCREMENT,
`level`varchar(32)NOTNULL,
`logger`varchar(100)NOTNULL,
`message`varchar(1000)DEFAULTNULL,
`exception`varchar(10000)DEFAULTNULL,
`date_add`datetimeNOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=19DEFAULTCHARSET=utf8mb4;

2、配置 databaseAppender :

<JDBCname="databaseAppender"tableName="sys_log">
<ConnectionFactoryclass="cc.s2m.web.s2mBlog.util.StaticProp"method="getDatabaseConnection"/>
<Columnname="date_add"isEventTimestamp="true"/>
<Columnname="level"pattern="%level"/>
<Columnname="logger"pattern="%logger"/>
<Columnname="message"pattern="%message"/>
<Columnname="exception"pattern="%ex{full}"/>
</JDBC>

3、其中 cc.s2m.web.s2mBlog.util.StaticProp類的getDatabaseConnection方法為獲取可用的datasource:

DriverManagerDataSourceds=newDriverManagerDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://127.0.0.1/s2mBlog?characterEncoding=utf8");
ds.setUsername("root");
ds.setPassword("123456");
returnds.getConnection();


4、指派需要記錄的日誌,使用 databaseAppender即可:

<loggername="SYSLOG"level="INFO"additivity="false">
<appender-refref="databaseAppender"/>
</logger>

⑶ mybatis怎麼配置log4j列印出sql語句

1、log4j配置

[html] view plain
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

2、導入jar
[html] view plain
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>

3、沒了,注意一定要導入slf4j的包,否則sql語句列印不出來

⑷ mybatis怎麼配置log4j列印出sql語句

1、log4j配置
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

2、導入jar

<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>

3、沒了,注意一定要導入slf4j的包,否則sql語句列印不出來

⑸ 怎麼樣配置log4j 才能將hibernate在控制台輸出sql語句

因為hibernate在輸出sql時使用的logger名為org.hibernate.SQL,所以想讓SQL語句輸出到log4j,只要在log4j.properties或log4j.xml的配置中加上如下語句:

log4j.logger.org.hibernate.SQL=DEBUG

記得同時把hibernate中配置文件hibernate.show_sql設置為false,避免同時在控制台和log日誌中雙份輸出sql語句。

⑹ mybatis怎麼配置log4j列印出sql語句

在程序調試時mybatis並沒有hibernate所提供的showsql功能,只能通過配置log4j日誌輸出級別的方式來列印sql。但網上搜到的答案幾乎都是下面的配置方式:

log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
###顯示SQL語句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=

rootLogger的級別是info,防止其他地方輸出debug的調試代碼(rootLogger若設為debug了,mybatis也沒必要再設置了)。但這段代碼根本沒有作用!不知是不是我使用的jar包版本比較新的緣故(3.4.1)。經過一系列的嘗試,終於找到了解決方案,直接修改層的輸出級別即可:

<loggers>
<Logger name="com.github.vita.code." level="trace" />
<root level="info">
<appender-ref ref="Console"/>
</root>
</loggers>123456123456

上面的是log4j 2的XML配置,1中對應的為log4j.logger.com.github.vita.code.=trace。這兒把輸出調成了更低的trace,可以看到更詳細的信息。

⑺ log4j.xml 如何在控制台列印jdbc執行過的sql

問題要描述清楚,使用什麼框架,是hibernate,還是mybatis,或者自己寫的資料庫連接工具。如果是hibernate,需要在hibernate屬性文件中配置hibernate.show_sql=true,或者在hibernate.cfg.xml文件中配置。
如果是mybatis,配置log4j
<category name="org.apache.ibatis" additivity="false">
<priority value="DEBUG"/>
<appender-ref ref="console"/>
</category>

⑻ mybatis怎麼配置log4j列印出sql語句

添加log4j jar包,添加配置文件就可以了:

提供一個項目的配置例子:

<?xmlversion="1.0"encoding="UTF-8"?>
<log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/">
<appendername="Console"class="org.apache.log4j.ConsoleAppender">
<!--輸出內容格式-->
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d%p[%c]-&lt;%m&gt;%n"/>
</layout>
</appender>

<appendername="File"class="org.apache.log4j.DailyRollingFileAppender">
<errorHandlerclass="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
<!--日誌文件位置-->
<paramname="File"value="logs/wiCC.log"/>
<!--是否在重新啟動服務時,在原有的基礎上追加日誌-->
<paramname="Append"value="true"/>
<paramname="DatePattern"value="'.'yyyy-MM-dd"/>
<!--輸出內容格式-->
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%d%-5p[%c]%m%n"/>
</layout>
</appender>

<loggername="org.springframework"additivity="false">
<levelvalue="ERROR"/>
<appender-refref="Console"/>

</logger>

<loggername="org.apache.ibatis"additivity="false">
<levelvalue="DEBUG"/>
<appender-refref="Console"/>

</logger>

<loggername="java.sql.Connection"additivity="false">
<levelvalue="DEBUG"/>
<appender-refref="Console"/>

</logger>
<loggername="java.sql.Statement"additivity="false">
<levelvalue="DEBUG"/>
<appender-refref="Console"/>

</logger>
<loggername="java.sql.PreparedStatement"additivity="false">
<levelvalue="DEBUG"/>
<appender-refref="Console"/>

</logger>

<root>
<levelvalue="info"/>
<appender-refref="Console"/>
<appender-refref="File"/>
</root>
</log4j:configuration>