java 日志时间_java项目添加log4j打印日志+转换系统时间

1.pom.xml文件引入依赖如下:

org.springframework.boot

spring-boot-starter-log4j

1.3.8.RELEASE

2.必须配置log4j.properties文件,文件内容配置如下

##设置日志记录到控制台的方式

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

##设置日志记录到文件的方式

log4j.appender.file=org.apache.log4j.FileAppender

log4j.appender.file.File=mylog.log

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

##日志输出的级别,以及配置记录方案

log4j.rootLogger=debug, stdout

3.controller中添加如下代码:

import java.sql.Timestamp;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

@RestController

public class UserController {

private static final Logger logger = LoggerFactory.getLogger(UserController.class);

@Autowired

private UserService userService;

/**

* 向数据库插入值

*/

@RequestMapping("/insertUser")

public int insertUser(String name,Integer age,Integer id) {

Timestamp timestamp=new Timestamp(System.currentTimeMillis());//转换成系统时间时分秒,不加的话是一串时间戳

logger.info(name+"=================================="+timestamp);//name为传入的参数名称,info--information

return userService.insertUser(name, age, id);

}

}

555f350b16ab5cfef5af9fad7378f1ca.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Java中的`SimpleDateFormat`类和`Calendar`类来解析和处理时间段。以下是一个示例代码,展示了如何将log4j格式的日志按照时间段进行拆分: ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class LogSplitter { public static void main(String[] args) { // 定义log4j格式的日志 String log = "2022-01-01 10:30:00 [INFO] This is a log message"; // 定义时间段 String startTime = "2022-01-01 10:00:00"; String endTime = "2022-01-01 11:00:00"; // 使用SimpleDateFormat解析时间格式 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { // 将起始时间和结束时间转换为Date对象 Date start = dateFormat.parse(startTime); Date end = dateFormat.parse(endTime); // 使用Calendar类进行日期比较和操作 Calendar calendar = Calendar.getInstance(); calendar.setTime(start); // 循环处理日志 while (calendar.getTime().before(end)) { // 格式化当前日期时间 String currentDateTime = dateFormat.format(calendar.getTime()); // 判断日志是否在当前时间段内 if (log.startsWith(currentDateTime)) { // 拆分日志 String[] logParts = log.split("\\["); String logLevel = logParts[1].split("]")[0].trim(); String logMessage = logParts[2].trim(); // 输出拆分后的日志 System.out.println("Level: " + logLevel); System.out.println("Message: " + logMessage); } // 增加一分钟 calendar.add(Calendar.MINUTE, 1); } } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们首先定义了一个log4j格式的日志字符串,然后定义了起始时间和结束时间。接下来,我们使用`SimpleDateFormat`类将起始时间和结束时间转换为`Date`对象。然后,我们使用`Calendar`类进行日期比较和操作。 在循环中,我们首先将当前日期时间格式化为字符串,然后判断日志是否在当前时间段内。如果是,则我们使用`split`方法拆分日志字符串,获取日志级别和日志消息,并进行输出。 请注意,上述代码仅适用于log4j格式的日志,并且假设日志中的日期时间位于日志字符串的开头部分。如果您的日志格式有所不同,您需要相应地调整代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值