【问题标题】:Using Logback in bridged java method for React Native在 React Native 的桥接 Java 方法中使用 Logback
【发布时间】:2019-02-12 00:58:07
【问题描述】:

我正在尝试修改工作应用程序。我从这个存储库安装了 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 文件..

有什么意见吗?

【问题讨论】:

    标签: java android react-native logging logback


    【解决方案1】:

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 2021-01-12
      • 2023-04-11
      • 1970-01-01
      • 2011-06-27
      相关资源
      最近更新 更多