⑴ java怎么用logback做日志记录以html的形式展示
<span style="font-size:12px;">import java.text.SimpleDateFormat;
import java.util.Date;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.FileAppender;
/**
* 根据不同的日志类型,打印不同路径下的yyyyMMdd.log格式日志,例如./logs/flume/playerLogin/20141111.log
* @author [email protected]
*/
public class LoggerUtil {
public static Logger getLogger(Class<?> clazz) {
Logger rootLogger = (Logger) LoggerFactory.getLogger(clazz);
LoggerContext loggerContext = rootLogger.getLoggerContext();
//loggerContext.reset();
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
encoder.setContext(loggerContext);
encoder.setPattern("%m");
encoder.start();
FileAppender<ILoggingEvent> appender = new FileAppender<ILoggingEvent>();
String fileName = getTime("yyyyMMdd") + ".log";
String filePath = LogPathConst.LOG_PREFIX + clazz.getSimpleName() + "/" + fileName;
appender.setFile(filePath);
appender.setContext(loggerContext);
appender.setEncoder(encoder);
appender.start();
rootLogger.addAppender(appender);
return rootLogger;
}
private static String getTime(String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date());
}
}
</span>
⑵ java怎么给logback.xml设置变量的值
通过反射的知识,先获得类的class字节码文件对象,然后通过调用setProperty(前面是变量名,变量值);
⑶ java使用logback生成日志文件后只写入了一条记录
你程序代码里面有逻辑判断,跳过了写日志的逻辑了,自己检查下代码
⑷ java 为什么使用logback要加上slf4j
slf4j 就是在你使用的日志系统与项目之间一个日志门面,类似于日志调用的中介。
⑸ 做java项目时在代码中添加日志怎样的添加形式比较好
异步线程写入日志,这样既不会影响业务代码,也不会影响系统性能,像你直接在主线程添加记录日志方法,如果写入比较慢的话,甚至会导致用户使用正常功能延迟而产生页面请求超时。
⑹ java logback.xml 中设置什么才能显示所有错误信息
下面是我logback.xml配置:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.sh4frame" value="../logs/sh4frame" />
<jmxConfigurator />
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log.sh4frame}.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.sh4frame}.%d{yyyy-MM-dd}.log.zip</FileNamePattern>
<!--日志保存天数-->
<maxHistory>100</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%relative [%thread] %level %logger - %msg%n</pattern>
</encoder>
<!--日志文件最大的大小 默认就是10M-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!--日志异步到数据库 -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="INFO" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="INFO"/>
<logger name="org.hibernate.SQL" level="INFO" />
<logger name="org.hibernate.engine.QueryParameters" level="INFO" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="INFO" />
<root level="INFO">
<appender-ref ref="stdout" />
<appender-ref ref="logfile" />
</root>
</configuration>
spring mvc日志logbackSLF4J
2012年11月28日 20:25
shieshie
3
0 0 4
⑺ java启动如何去掉logback自身调试信息
将 logback.xml 配置文件的configuration 元素debug属性的值改成 false
debug 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。
⑻ java代码中添加日志
怎么会呢... log4j多好用啊, 你先下一个log4j的jar包, 导入到项目后, 在网上找一个log4j.properties文件(必须有这个文件), 把它放到src目录下(必须), 然后需要打日志的时候logger.info("...")调用就好了啊, 没啥别的啊... 毕竟只是个日志文件, 如果你要打到文件里, 在log4j.properties文件里设置路径参数就好了, 纯手打望采纳!
⑼ logback的日志在java的textarea显示中文乱码
1.设置Encoding。在appender中增加一行<Encoding>UTF-8</Encoding>,但是在启动中报错,说是不能识别Encoding元素。有人说Encoding在0.9.22以后版本中已经不能用了。看来此方案在我使用的logback 版本中并不能解决问题
2.设置charset, 在encoder 中增加一行 <charset>UTF-8</charset>,重新启动系统,日志中中文显示正常了。 下面是我的一个简要的logback.xml 配置。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="c:/log"/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>