freemarker日志实现过程分析

freemarker有自己的log类,这是一个抽象类,具体的日志打印委托给classpath里面合适的日志jar包来执行,寻找合适日志jar的查找顺序是:Apache Log4J, Apache Avalon LogKit, JDK log。如果一个合适的日志实现类都没有找到,日志功能将被抑制,并会使用System.err打印出错误提示信息。
如果我们想自己指定使用的日志类型,那么可以通过:
Loger.selectLoggerLibrary(int library);
注意:一定要在freemarker初始化阶段进行设置,在调用任何freemarker api之前进行设置,否则freemarker将会与默认的日志实现进行绑定,从而自己指定的日志修改将不会起到作用。

时间: 2024-10-05 23:36:58

freemarker日志实现过程分析的相关文章

Freemarker常用技巧(三)

freemarker模板解析过程 例如:一个freemarker表达式<body> ${hello} </body>,会被解析成三个部分,分别是<body>${hello}</body>前面和后面的body标签,在freemarker中被定义为TextBlock,中间的变量定义为DollarVariable.那么目前的结构也就是RootExpression = TextBlock DollarVariable TextBlock.解释器一进来将会对RootE

logback.xml配置示例

<?xml version="1.0" encoding="UTF-8" ?> <configuration> <!--在没有定义${LOG_HOME}系统变量的时候,可以设置此本地变量.提交测试.上线时,要将其注释掉,使用系统变量.--> <!-- 本地环境 <property name="LOG_HOME" value="C:/logs" />--> <!-

GoogleLog(GLog)源码分析

GLog是Google开发的一套日志输出框架.由于其具有功能强大.方便使用等特性,它被众多开源项目使用.本文将通过分析其源码,解析Glog实现的过程. 该框架的源码在https://github.com/google/glog上可以获取到.本文将以目前最新的0.3.3版本源码为范例进行分析.(转载请指明出于breaksoftware的csdn博客) 首先我们介绍下Glog简单的使用方法.Glog暴露了很多方法供使用者调用,一般它们都是通过宏的形式提供的.这些方法的功能包括:参数设置.判断.日志输

国内某公有云 linux云主机开机初始化过程分析和他的镜像制作过程

最近学习了国内某公有云的linux云主机启动之后,在镜像内部的初始化过程,分享出来,仅供参看. 一.开机过程 可以看到开机时候按照数字顺序执行了一连串的脚本,其中也提示的该公有云厂商的名字的ucloud,最后一条显示做了清理工作.进系统一看 果然找不到这些脚本了. 二.进单用户模式找出这些脚本 想让开机的时候不让最后一步 999-clwanup.sh执行的办法很多,我采取的的办法是单用户模式,简单上个图,具体方法大家谷歌下. 成功进入单用户模式,并复制他的初始化脚本 三 初始化过程分析 (一)

Spring+mybatis+shiro+freemarker+ehcache+ldap+mongo【转】

所有配置文件在此 spring servlet: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"        xmlns:aop="http://www.springframework.org/schema/aop"        xmlns:context=&q

java项目log4j日志打印配置

#定义输出级别和输出平台  添加DEBUG表示打印sql 语句 log4j.rootLogger=DEBUG,INFO,ERROR,stdout,R log4j.category.org.springframework = INFOlog4j.category.freemarker = INFOlog4j.category.org.mybatis.spring=INFOlog4j.category.net.joyphper = DEBUG ### appender.R输出到日志文件 ### lo

第一个spring、springmvc、mybatis、freemarker项目小知识(一)

1.持久层开发(Mybatis)    1.1 添加,非空字段必须给值,不是非空加判断,有值添加无值不添    1.2 删除,注意外键关系的级联删除.(事务传播行为)    1.3 更新,每个字段单独更新,只更新变化的值.    1.4 查询,多表查询首先确定主查询表,分析与辅助查询表的关系来确定使用内/外链接        1.4.1 外键关系:内连接                select a.*,b.* from tb_a a, tb_b b where a.id = b.id sel

log4j:WARN No appenders could be found for logger (freemarker.cache).

为了减少控制台输出从而减少处理时间,可以设置日志级别高一点,例如设置为“ERROR” 打开类路径(就是和struts.xml文件同目录)下的log4j.properties(如果没有就新建一个),修改如下: log4j.logger.com.opensymphony.xwork2=ERROR log4j.logger.freemarker.cache=ERROR log4j.logger.freemarker.beans=ERROR log4j.logger.org.apache.struts2

Spring Boot入门第二天:一个基于Spring Boot的Web应用,使用了Spring Data JPA和Freemarker。

今天打算从数据库中取数据,并展示到视图中.不多说,先上图: 第一步:添加依赖.打开pom.xml文件,添加必要的依赖,完整代码如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&q