java将日志输出到指定地方

import java.io.FileNotFoundException;
import java.io.PrintStream;
public class RedirectOutputStream {

public static void main(String[]args){
	try{
		PrintStream out = System.out; 
		**PrintStream ps = new PrintStream("F:/log.txt");//
		PrintStream ps1 = new PrintStream("F:/log.txt");//
		System.setOut(ps);//将输出存入PS变量中输出到F盘log.txt
		System.setErr(ps1);//将输出存入PS变量中输出到F盘log.txt**
		int age =18;
		int ageone =12;
		String sex="女";
		String cuo="这是一个很严重的问题!";
		String info ="这是一个"+sex+"孩子,应该有"+age+"岁!";
		System.out.println("整合两个变量为INFO 的字符串变量,其结果是"+info);
		System.out.println("两个人的年纪是加起来是多大呢?答案是1:"+age+ageone);//把他们当变量连续输出
		System.out.println("两个人的年纪是加起来是多大呢?答案是2:"+(age+ageone));//把两个变量做加法输出
		System.err.println("错误日志"+cuo);
		System.setOut(out);//这行一下的输出又恢复屏幕输出,不存日志
		System.setErr(out);//这行一下的输出又恢复屏幕输出,不存日志
		System.out.println("程序到此结束请检查日志文件");
	}catch(FileNotFoundException e){
		e.printStackTrace();
		
	}
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中,我们可以通过配置日志框架来实现将特定的日志单独输出到文件中。下面以常用的 Log4j2 为例说明: 1. 首先,需要在 pom.xml 文件中加入 log4j2 的依赖: ```xml <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.x.x</version> </dependency> ``` 2. 在项目的 resources 目录下创建一个 log4j2.xml 配置文件,该文件包含了对日志输出的配置信息。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <File name="LogFile" fileName="./logs/mylog.log" append="true"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> <File name="SpecialLogFile" fileName="./logs/special.log" append="true"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> <AppenderRef ref="LogFile"/> </Root> <Logger name="com.example.special" level="debug" additivity="false"> <AppenderRef ref="SpecialLogFile"/> </Logger> </Loggers> </Configuration> ``` 上述配置文件中,定义了三个 Appenders:Console、LogFile 和 SpecialLogFile。其中 Console 用于将日志输出到控制台,LogFile 用于将日志输出指定文件,SpecialLogFile 用于将特定的日志输出到另一个文件中。 3. 在 Java 代码中,可以使用 LogManager.getLogger() 方法获取 Logger 对象,然后使用该对象打印日志。例如: ```java import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MySpecialClass { private static final Logger logger = LogManager.getLogger("com.example.special"); public static void doSomething() { logger.debug("This is a special log message."); } } ``` 在上述代码中,我们通过 LogManager.getLogger("com.example.special") 方法获取了名为 "com.example.special" 的 Logger 对象,然后使用该对象打印了一条 debug 级别的日志。由于我们在 log4j2.xml 配置文件中指定了该 logger 对象的输出目的地为 SpecialLogFile,因此这条日志会被单独输出到 ./logs/special.log 文件中。 至此,我们就成功地将特定的日志单独输出到文件中了。需要注意的是,在实际项目中,我们可能需要根据不同的需求,定制不同的日志输出方式和格式,具体配置方式可以参考 log4j2 的官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值