java - 在 React Native 的桥接 Java 方法中使用 Logback
问题描述
我正在尝试修改工作应用程序。我从这个存储库安装了 android 的 logback -> https://github.com/tony19/logback-android然后我在 java 文件中创建了桥接方法,该文件最初是桥接的,并且包含其他 @reactmethod 方法。
这是我的java代码(不是完整的代码,只是logback的东西):
package com.eeg_project.components.classifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ClassifierModule extends ReactContextBaseJavaModule implements BufferListener {
// Logback
private static Logger logger = LoggerFactory.getLogger(ClassifierModule.class);
@ReactMethod
public void startSaveCSV() {
//test ints
int a = 2;
int b = 2;
String csvLine = a + "," + b;
logger.info(csvLine);
}
}
我的 logback.xml 配置如下:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{dd-MM-yyyy HH:mm:ss.SSS} %-5level [%thread] %logger - %msg%n
</Pattern>
</layout>
</appender>
<appender name="FILE-APPENDER" class="ch.qos.logback.core.FileAppender">
<file>/storage/emulated/0/Download/Data.csv</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%msg%n
</Pattern>
</encoder>
</appender>
<logger name="com.eeg_project.components.classifier.ClassifierModule" level="info" additivity="false">
<appender-ref ref="FILE-APPENDER" />
</logger>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
这里是 recat native 从 java 调用桥接方法的代码(sandboxbutton 是原始的应用程序按钮,我只是改变了它的功能):
import Classifier from "../native/Classifier";
}
<SandboxButton onPress={() => Classifier.startSaveCSV()}>CSV</SandboxButton>
应用程序编译成功,但是当我点击我的按钮时出现问题。什么都没有发生:(应用程序甚至没有创建我的 Data.csv 文件..
有什么懒惰的吗?
解决方案
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>
推荐阅读
- assembly - 使用汇编的乘法和加法
- python - 有没有办法对 Python C 扩展进行版本控制?
- javascript - 在 await Promise.all(...) 之后脚本停止且没有错误
- linux - 有没有办法将 shell 连接到伪 tty?
- google-sheets - 错误:函数 ARRAY_ROW 参数 2 的行大小不匹配。预期:1。实际:10434
- winapi - MFC:CListView 的 CListCtrl::InsertItem(0, "test", imageindex) 显示在列表末尾而不是开始?
- textbox - 如何强制 TextBox 显示正在输入的内容?
- c# - 如何通过 Blazor 中的 NavLink 传递通用参数?
- python - tensorflow 是否适用于 python3.9?
- sql - 如何通过某个键的值直接更新 pg 的 json 数组数据?