log4j.xml如何在控制台打印jdbc执行过的sql
问题要描述清楚,使用什么框架,是hibernate,还是mybatis,或者自己写的数据库连接工具。
如果是hibernate,需要在hibernate属性文件中配置hibernate.show_sql=true,或者在hibernate.cfg.xml文件中配置。
如果是mybatis,配置log4j
log4j.properties怎么设置打印sql
用log4j在控制台输出,在web.xml中配置log4j.properties的路径,properties文件 log4j.rootLogger=DEBUG, Console#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSet=INFOlog4j.logger.org.apache=INFOlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG如果不想打印spring的DEBUG输出请把第一行的DEBUG改为INFO
log4j默认的编码方式
log4j 默认使用 UTF-8 编码方式来处理日志消息的输出。UTF-8 是一种可变长度的编码方式,可以将 Unicode 字符以最小的存储空间进行编码。log4j 使用 UTF-8 编码方式主要是为了能够支持不同语言、不同字符集的日志消息输出。
通过使用 UTF-8 编码方式,log4j 可以正确地处理各种包含特殊字符、多语言字符集和非英文字符的日志消息,并确保它们在输出时不会出现乱码或失真现象。
同时,UTF-8 编码方式还具有较好的兼容性和扩展性,能够满足日志需求的多样性。因此,log4j 被广泛应用于不同领域的日志记录和管理中。
1. 是UTF-8。
2. 这是因为UTF-8是一种通用的字符编码方式,可以表示世界上几乎所有的字符,而且在国际化和跨平台的应用中被广泛使用。
3. UTF-8编码方式具有以下优点:支持所有Unicode字符,节省存储空间,兼容ASCII编码,适用于多语言环境等。
如果需要使用其他编码方式,可以通过配置文件进行设置。
logback和log4j哪个用的多
log4j用的多。
log4j可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的时间记录器、UNIX Syslog护进程等。
可以控制每一条日志信息的级别,能够更加细致的控制日志的生产过程,可以通过一个配置文件来灵活的进行配置,不需要修改应用代码。
logback
是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。
SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。
还没有评论,来说两句吧...