Facebook 记录其余调用
我正在使用组:“com.facebook.ads.sdk”,名称:“facebook java ads sdk”,版本:“0.4.0” 在com.dan.dadl.ccr.process.facebook.APIContext上有方法setLogger(PrintStream logger) 默认情况下,此日志记录到System.out 我想将其余调用记录到应用程序的日志中。应用程序正在使用log4j2Facebook 记录其余调用,facebook,logging,ads,Facebook,Logging,Ads,我正在使用组:“com.facebook.ads.sdk”,名称:“facebook java ads sdk”,版本:“0.4.0” 在com.dan.dadl.ccr.process.facebook.APIContext上有方法setLogger(PrintStream logger) 默认情况下,此日志记录到System.out 我想将其余调用记录到应用程序的日志中。应用程序正在使用log4j2 有人能告诉我怎么做吗 要执行此操作,您需要更改system.out PrintStream。
有人能告诉我怎么做吗 要执行此操作,您需要更改
system.out PrintStream
。您需要接下来的代码行来完成这项工作
public String getLoggerFileName() {
org.apache.logging.log4j.core.Logger loggerImpl = (org.apache.logging.log4j.core.Logger) log;
Appender appender = loggerImpl.getAppenders().get("FileAppender");
// Unfortunately, File is no longer an option to return, here.
return ((FileAppender) appender).getFileName();
}
final static Logger log = LogManager.getLogger(WebApplicationInitializer.class);
在应用程序的静态块或入口点上,您需要添加以下行:
//redirect sysout to log
File file = new File(getLoggerFileName());
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
PrintStream ps = new PrintStream(fos);
System.setOut(ps);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
因此,System.out.println
的所有输出都将重定向到文件