У меня есть внешний public class ClassifierModule
и внутренний public class ClassifierRunnable
. Logger, реализованный во внешнем классе, работает нормально. Но когда я пытаюсь реализовать это во внутреннем классе, это не работает вообще. Я имею в виду, нет ошибки, но logback не создает журналы.
Как реализовать регистратор во внутреннем классе? (До сих пор я узнал, что он не должен быть ststic).
private final static Logger logger = LoggerFactory.getLogger(ClassifierModule.class);
Вот мой код:
//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)
}
}
}
Мой 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>