JAVA日常开发中常用的日志记录方式,攒个赞好不好?
发布日期:2021-04-30 21:10:56 浏览次数:104 分类:精选文章

本文共 4110 字,大约阅读时间需要 13 分钟。

??????

?????????????????????????????????????????????????bug?Java????????????????????????????????Eclipse?MyEclipse?????????????????????????????????????????????????????????

???????

????????????????log4j?Logging?commons-logging?slf4j?????????????????????

log4j??

log4j???????????????????????????????????log4j????????

log4j.rootLogger= ERROR, stdout
log4j.appender.stdout= org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout= org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %5p [%t] %m%n

??????

??????log4j?????????????????????ERROR?????????????????????????????

package com.log;
import org.apache.log4j.Logger;
public class Log4jTest {
private static final Logger logger = Logger.getLogger(Log4jTest.class);
public void test() {
logger.debug("debug print");
logger.info("info print");
logger.warn("warn print");
logger.error("error print");
}
public static void main(String[] args) {
new Log4jTest().test();
}
}

???????

???????????????DailyRollingFileAppender??????

log4j.rootLogger= ERROR, stdout, myLog
log4j.appender.stdout= org.apache.log4j.ConsoleAppender
log4j.appender.myLog= org.apache.log4j.DailyRollingFileAppender
log4j.appender.myLog.File= E:\testlog\log4j\server.log
log4j.appender.myLog.Append= true
log4j.appender.myLog.Threshold= DEBUG
log4j.appender.myLog.DatePattern= '.'yyyy-MM-dd
log4j.appender.myLog.layout= org.apache.log4j.PatternLayout
log4j.appender.myLog.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p] [%c{1}:%L] [%M] %m%n
log4j.additivity.myLog= false

???????

?????????????????????????????????????????????

package com.log;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileLog {
public static void writeLog(String file, String content) {
BufferedWriter out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(file, true)));
out.write(content);
out.newLine();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String curTime = dfTime.format(date);
String curDay = df.format(date);
String text = "????" + org.apache.commons.lang.RandomStringUtils.randomNumeric(4);
String logStr = "[" + curTime + "]" + text;
String fileName = "E:/testlog/" + curDay + ".txt";
System.out.println("start");
writeLog(fileName, logStr);
System.out.println("end");
}
}

??????

?????????????????????????????????????????????????????????????????????????

package com.log;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
public class DBLog {
private static final String INSERT_LOG = "INSERT INTO tbl_log (content, create_time) VALUES (?, ?)";
public static void writeLog(String content) {
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/logdb", "root", "password");
PreparedStatement pstmt = conn.prepareStatement(INSERT_LOG);
pstmt.setString(1, content);
pstmt.setTimestamp(2, new Date());
pstmt.executeUpdate();
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DBLog.writeLog("????");
}
}

??

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

上一篇:在csdn中如何查看自己关注的人(2021年)
下一篇:测试工具-Jira和禅道数据库分析

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2026年06月10日 12时43分00秒