Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 记录其余调用_Facebook_Logging_Ads - Fatal编程技术网

Facebook 记录其余调用

Facebook 记录其余调用,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。

我正在使用组:“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
。您需要接下来的代码行来完成这项工作

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
的所有输出都将重定向到文件