求助,打印出现3d打印分层是怎么回事什么情况

java基础(30)
在开发的过程中,我们总会想看到更多的错误,这时候log4j便产生了作用,但是有时候我们总会把日志给打印在一个文件中,那我们如何对各个不同的模块的日志进行分不同的日志文件存放呢,比如dao、service、controller、error、jsp等不同层次的日志。
1、log4j的配置
&?xml version=&1.0& encoding=&UTF-8& ?&
&!DOCTYPE log4j:configuration SYSTEM &log4j.dtd&&
&log4j:configuration xmlns:log4j=&http://jakarta.apache.org/log4j/&&
&appender name=&ConsoleAppender& class=&org.apache.log4j.ConsoleAppender&&
&layout class=&org.apache.log4j.SimpleLayout& /&
&/appender&
&!-- 根,会把所有涉及到的log都打印出来
根logger没有默认的appender
根logger默认被分配了Level.DEBUG的级别
&level value=&INFO& /&
&appender-ref ref=&ConsoleAppender& /&
(1)、如果类别的名称(后面加一个点)是其子类别名称的前缀,则它就是另一个类别的祖类
(2)、如果一个类别和它的子类别之间没有其他的继承关系,我们就称之为parent与child的关系
例如:类别com.foo是类别com.foo.Bar的parent。
根(root) 类别位于logger继承结构的最上层。它有两种例外:
(1) 它一直存在
(2) 它不能根据名称而获得。
调用类的静态方法Logger.getRootLogger可以得到它
如果一个Logger没有被分配一个级别,那么它将从一个被分配了级别的最接近它的ancestor哪里继承。
正规的说:级别的继承:对于一个给定的Logger C,它的继承的级别等于从C开始上溯到的第一个拥有非空级别的Logger的级别。
对于一个给定的logger,它每个生效的日志请求都被转发到logger所有的appender上和该logger的父辈logger的appender上。
换句话说,appende自动从它的父辈获得继承。举例来说,如果一个根logger拥有一个console appender,
那么所有生效的日志请求至少会被输出到console上。
如果一个名为C的logger有一个file类型的appender,那么它就会对它自己以及所有它的子logger生效。
我们也可以通过设置appender的additivity flag为false,来重载appender的默认行为,以便继承的属性不在生效。
Log4j的子logger只连接到已经存在的它们的父代。特别的是,名为com.foo.bar的logger是直接连接到根logger,
而不是围绕着没用的com或com.foo logger。这显著的提高了程序性能并且减少的内存占用。
避免参数构建的花费应如下,
if(logger.isDebugEnabled() {
logger.debug(&Entry number: & + i + & is & + String.valueOf(entry[i]));
如果logger的debug被关闭这将不会招致参数构建的花费。另一方面,如果logger是debug的话,它将产生两次判断 logger是否能用的花费。
一次是在debugenabled,一次是debug。这是无关紧要的,因为判断日志是否可用只占日志实际花费时间的约1%。
如果是DailyRollingFileAppender的话,不会立刻生成error.log..log,而是先生成error.log,然后等到这天的
23:59分,把当天的日志写到error.log..log的文件中去
如果DailyRollingFileAppender的append=true的话,即使当天没有日志,也会生成error.log..log文件,否则不会生成
&!-- dao层的日志 --&
&appender name=&dao& class=&org.apache.log4j.FileAppender&&
&param name=&File& value=&${webapp.root}/logs/dao.log& /&
&param name=&Append& value=&true& /&
Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为&\r\n&,Unix平台为&\n&
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
&layout class=&org.apache.log4j.PatternLayout&&
&param name=&ConversionPattern& value=&%d [%t] %p - %m%n& /&
&/appender&
&!-- 以com.hj.dao包开头的所涉及到的类进行log --&
&logger name=&com.hj.dao& additivity=&true&&
&level value=&INFO& /&
&appender-ref ref=&dao& /&
&!-- service层的日志 --&
&appender name=&service& class=&org.apache.log4j.FileAppender&&
&param name=&File& value=&${webapp.root}/logs/service.log& /&
&param name=&MaxFileSize& value=&5MB& /&
&param name=&MaxBackupIndex& value=&20& /&
&param name=&Encoding& value=&utf-8&/&
&layout class=&org.apache.log4j.PatternLayout&&
&param name=&ConversionPattern& value=&%d [%-5p][%t] %c{1} %m %n& /&
&/appender&
&!-- 以com.hj.service包开头的所涉及到的类进行log --&
&logger name=&com.hj.service& additivity=&true&&
&level value=&INFO& /&
&appender-ref ref=&service& /&
&!-- controller层的日志 --&
&appender name=&controller& class=&org.apache.log4j.RollingFileAppender&&
&param name=&File& value=&${webapp.root}/logs/controller.log& /&
&param name=&MaxFileSize& value=&5MB& /&
&param name=&MaxBackupIndex& value=&20& /&
&param name=&Encoding& value=&utf-8&/&
&layout class=&org.apache.log4j.PatternLayout&&
&param name=&ConversionPattern& value=&%d [%-5p][%t] %c{1} %m %n& /&
&/appender&
&!-- 以com.hj.controller包开头的所涉及到的类进行log --&
&!-- 输出源的可添加性(Appender Additivity):一个名为C的logger的日志定义的输出将延续到它自身以及它的ancestor logger的appenders
Loggers的附加标记(additivity flag)默认为true。 --&
&logger name=&com.hj.controller& additivity=&true&&
&level value=&INFO& /&
&appender-ref ref=&controller& /&
&!-- 异常捕获的日志 --&
&appender name=&error& class=&org.apache.log4j.RollingFileAppender&&
&param name=&File& value=&${webapp.root}/logs/error.log& /&
&param name=&MaxFileSize& value=&5MB& /&
&param name=&MaxBackupIndex& value=&20& /&
&param name=&Encoding& value=&utf-8&/&
&layout class=&org.apache.log4j.PatternLayout&&
&param name=&ConversionPattern& value=&%d [%-5p][%t] %c{1} %m %n& /&
&/appender&
&!-- 对com.hj.exception.ErrorHandler类进行log --&
&logger name=&com.hj.exception.ErrorHandler& additivity=&true&&
&level value=&ERROR& /&
&appender-ref ref=&error& /&
&/log4j:configuration&
@Repository
public class UserDao {
private Logger logger = Logger.getLogger(this.getClass());
public void show(){
(&this is DAO add&);
public void exception(){
String str =
str.charAt(2);
}catch(Exception e){
logger.error(&DAO空指针异常&, e);
public void throwsExcep() throws Exception{
String str =
(&dao测试异常&);
str.charAt(2);
3、service层
public class UserService {
private Logger logger = Logger.getLogger(this.getClass());
private UserDao userD
public void show(){
(&ths is Service add&);
userDao.show();
public void exception(){
String str =
str.charAt(2);
}catch(Exception e){
logger.error(&Service空指针异常&, e);
userDao.exception();
public void throwsExcep() throws Exception{
(&service测试异常&);
userDao.throwsExcep();
4、controller层
@Controller
public class UserController {
private Logger logger = Logger.getLogger(this.getClass());
private UserService userS
@RequestMapping(value = &/show&)
public String show(){
(&this is Controller add&);
userService.show();
return &index&;
@RequestMapping(value = &/exception&)
public String exception(){
String str =
str.charAt(2);
}catch(Exception e){
logger.error(&Controller空指针异常&, e);
userService.exception();
return &index&;
@RequestMapping(value = &/throwsExcep&)
public String throwsExcep() throws Exception{
(&controller测试异常&);
userService.throwsExcep();
return &index&;
5、异常处理中心,捕获所有controller的所有异常
@ControllerAdvice
public class ErrorHandler {
private Logger logger = Logger.getLogger(this.getClass());
@ExceptionHandler(value = Exception.class)
public @ResponseBody Object errorResponse(Exception e) {
logger.error(&异常处理中心&, e);
6、生成的日志文件
工程下载地址:http://download.csdn.net/detail/wxwzy738/7409341
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1273355次
积分:10536
积分:10536
排名:第1217名
原创:180篇
转载:129篇
评论:179条
(2)(8)(6)(3)(1)(3)(1)(2)(5)(2)(9)(11)(8)(4)(4)(18)(24)(1)(19)(4)(2)(3)(11)(14)(2)(7)(18)(4)(5)(11)(5)(6)(46)(7)(20)(13)查看: 9830|回复: 5
[求助]打印时,出现字重叠的情况
阅读权限20
在线时间 小时
请高手帮忙哟!!!打印预览时,没问题。打印以后一看有字和字重叠的情况。用韩国语制作的表格经常出现此问题。不得不重新制作。很麻烦。求哪位高手帮我解决这问题拜托了[
阅读权限50
在线时间 小时
打印机关一下机,再试.也许可以.
阅读权限70
在线时间 小时
将字体缩小一些,再试.也许可以.
阅读权限20
在线时间 小时
会不会有其他可能性呢。
阅读权限50
在线时间 小时
字和字重叠?有可能是打印机本身的问题!建议把你的原文件上传,再查找具体原因.
阅读权限95
在线时间 小时
打印时打印机是先把电脑中文件内容读入打印机的内存之中,打印机中字体如果不支持韩文这种字体,可能会出现这种情况。
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师打印的分层教学_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
打印的分层教学
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 3d打印分层软件 的文章

 

随机推荐