通过自动回复机器人学Mybatis:OGNL+log4j.properties
imooc视频学习笔记 ----> URL:http://www.imooc.com/learn/154
OGNL规则:
从哪里取?(作用域、取值范围,例如封装入一个对象,该对象就是取值范围)
--> 要取的是什么类型的值()--> 如何表达 --> 例如动态拼接中的<if test = "OGNL"
SQL中获取变量值:
类似,但不是OGNL,不具备OGNL特性,例如 #{属性名}、#{_parameter}
log4j
--> 相应的jar包
--> 配置文件
--> 适当的位置
mybatis自动读取配置文件,
这个配置文件决定怎么输出日志:输出何种级别的的日志,输出的日志格式,输出到哪里
真正决定日志内容的是MyBatis
log4j.rootLogger=DEBUG, MyConsole
# DEBUG指的是输出级别,只有大于等于这个级别才会被输出,Mybatis的输出是debug级别的
# 在Mybatis源码包里的ConnectionLogger类里可以看到
# rootLogger是针对整个工程的
log4j.appender.MyConsole=org.apache.log4j.ConsoleAppender
# 输出到控制台
log4j.appender.MyConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.MyConsole.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
# %d是生成日志的时间
# %t指的是产生日志所处线程的名称
# %-5p输出日志的级别,-5控制输出格式
# %c输出日志的类全名
# %m 输出的时候的附加信息出现在这个位置 %n指换行
log4j.logger.org.apache=INFO
# log4j.logger是关键字不能动的
# 后面是自己写的包名,针对一个具体的包调整输出级别,INFO>DEBUG,不输出DEBUG信息 # Mybatis怎么加载该信息的,参看源码LogFactory.class
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
没找到log4j.properties文件,调整一下文件位置就可以了。
不过目前的版本貌似用的log4j2,配置文件是log4j2.xml。。。
输出示例:
log4j.appender.MyConsole.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
2017-06-27 10:37:33,928 [http-apr-8080-exec-4] DEBUG [Message.queryMessageList] - ==> Preparing: select ID, COMMAND, DESCRIPTION, CONTENT from MESSAGE where 1=1 and COMMAND=? and DESCRIPTION like '%' ? '%'
2017-06-27 10:37:33,951 [http-apr-8080-exec-4] DEBUG [Message.queryMessageList] - ==> Parameters: 伤心(String), 总是(String)
2017-06-27 10:37:33,965 [http-apr-8080-exec-4] DEBUG [Message.queryMessageList] - <== Total: 1
2017-06-27 10:41:06,394 [http-apr-8080-exec-7] DEBUG [Message.queryMessageList] - ==> Preparing: select ID, COMMAND, DESCRIPTION, CONTENT
如何查看源代码?
properties --> java build path --> libraries --> 选中Mybatis下的 source attachment --> edit --> 添加源码的根目录
最新文章
- FE
- Shell编程基础教程7--脚本参数的传递
- [推荐] kylinPET是一款功能强大的性能测试工具
- MATLAB代码加密生成.p文件
- SQL 脚本
- Java常见排序算法之归并排序
- HDU - 1693 Eat the Trees(多回路插头DP)
- Party
- iOS屏蔽高频点击技巧
- SQL整理1 数据类型
- Android ListView分页载入(服务端+android端)Demo
- webService请求方式快速生成代码 (Postman)
- [Windows Doc]微软官方文档
- 【工具相关】Web-XAMPP的安装
- VS2013编译报错error C4996: &#39;sprintf&#39;: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
- Kruskal算法:最小生成树
- JVM、JRE,JDK
- iOS开发者证书-详解/生成/使用
- WebDriver工作原理
- dubbo知识点理解2
热门文章
- mac 干掉Dashboard
- poj 2187:Beauty Contest(计算几何,求凸包,最远点对)
- Jmeter_远程启动 I
- 第七篇:两个经典的文件IO程序示例
- python中的 try...except...finally 的用法
- iOS 状态栏更改为白色
- CodeForces 157A Game Outcome
- MonogoDB----Date()
- 微信商城 Common Log Format Apache CustomLog
- Java基础 - 面向对象 - 类的定义