Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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
Java 内部类中的Logback记录器_Java_React Native_Logging_Logback_Inner Classes - Fatal编程技术网

Java 内部类中的Logback记录器

Java 内部类中的Logback记录器,java,react-native,logging,logback,inner-classes,Java,React Native,Logging,Logback,Inner Classes,我有外部公共类分类器模块和内部公共类分类器模块。在外部类中实现的记录器工作良好。但当我试图在内部类中实现它时,它根本不起作用。我的意思是,没有错误,但是logback不会创建日志 如何在内部类中实现记录器?(到目前为止,我已经知道它应该是非ststic的) 这是我的密码: //outer class public class ClassifierModule extends ReactContextBaseJavaModule implements BufferListener { p

我有外部
公共类分类器模块
和内部
公共类分类器模块
。在外部类中实现的记录器工作良好。但当我试图在内部类中实现它时,它根本不起作用。我的意思是,没有错误,但是logback不会创建日志

如何在内部类中实现记录器?(到目前为止,我已经知道它应该是非ststic的)

这是我的密码:

//outer class
public class ClassifierModule extends ReactContextBaseJavaModule implements BufferListener {

    public ClassifierModule(ReactApplicationContext reactContext) {
        super(reactContext);
        appState = ((MainApplication)reactContext.getApplicationContext());
        }     

    @Override
    public String getName() {
      return "Classifier";
    }

    @ReactMethod
    public void saveLog() {
       logger.info("Hello world");
    }

    //inner class        
    public class ClassifierRunnable implements Runnable {

        public ClassifierRunnable(double[][] buffer) {
            rawBuffer = buffer;
            PSD = new double[NUM_CHANNELS][nbBins];
        }

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

        @Override
        public void run() {
            if(isLogging) {

                int a = 11;
                int b = 24;

                logger.info(a)

            }
    }
}
My logback.xml的配置如下:

<configuration>
  <!-- Create a file appender for a log in the application's data directory -->
  <appender name="file" class="ch.qos.logback.core.FileAppender">
    <file>/data/data/com.eeg_project/files/log/eegdata.log</file>
    <encoder>
      <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <!-- Write INFO (and higher-level) messages to the log file -->
  <root level="INFO">
    <appender-ref ref="file" />
  </root>
</configuration>

/data/data/com.eeg_project/files/log/eegdata.log
%d{HH:mm:ss}[%thread]-5级别%logger{36}-%msg%n

如果要为内部类添加日志级别,需要将以下配置添加到logback.xml文件中。这对我有用

因为它是一个内部类,所以需要使用$sign将它与父类分开

<logger name="packagename.ClassifierModule$ClassifierRunnable " level="INFO" additivity="false">
    <appender-ref ref="file" />
</logger>


希望这对您的配置有所帮助。谢谢

您可以在代码中添加您如何实际初始化这些记录器的代码吗?这将转到类
private final static Logger Logger Logger=LoggerFactory.getLogger(name of class.class)logger.info(“Hello world”)在问题中的代码中?您调用[LOG],但在何处初始化此[LOG]?在示例类的内部/外部类中看不到init?更新了我的问题。我想在日志中写入的内部类中有
inta
intb
?此外,您初始化
记录器
,但调用
日志
<logger name="packagename.ClassifierModule$ClassifierRunnable " level="INFO" additivity="false">
    <appender-ref ref="file" />
</logger>