我有一个常规模块,我在常规Java(PC)中开发,但我也想在Android模块中使用它。
如何在PC模块中记录消息并在Android日志中看到该消息?
答案 0 :(得分:3)
您可以使用SLF4J API(日志框架的轻量级外观)。 我认为这是开发Java库的最佳方式。
您可以阅读有关SLF4J和log4j here之间差异的更多信息。
例如,您可以在公共模块中使用以下代码:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Bar {
private static final Logger logger = LoggerFactory.getLogger(Bar.class);
public void foo(int value) {
logger.info("entered Bar::foo value={}", value);
}
}
之后,您可以将此代码与SLF4J实现之一一起使用:
答案 1 :(得分:1)
使用易于用于日志的apache.log4j.Logger
lib
示例强>
import org.apache.log4j.Logger;
public class LoggerUtils {
private static Logger log = null;
// Static initializer loads only once when the class loads into memory
static {
System.out.println("Inside LoggerUtils static block");
log = Logger.getLogger(LoggerUtils.class);
System.out.println("LoggerUtils Class Name == "
+ LoggerUtils.log.getClass().getName());
}// end of static block
/**
* Default no argument constructor
*/
public LoggerUtils() {
}
/**
* @param String, debug statement to log.
*/
public static void debug(String logString) {
log.debug(logString);
}
/**
* @param String, info statement to log.
*/
public static void info(String logString) {
log.info(logString);
}
/**
* @param String, error statement to log.
*/
public static void error(String logString) {
log.error(logString);
}
/**
* @param String, warning statement to log.
*/
public static void warn(String logString) {
log.warn(logString);
}
/**
* @param logString, error message to log.
* @param e, error object.
*/
public static void error(String logString, Exception e) {
error(logString);
if (e != null) {
StackTraceElement[] elements = null;
elements = e.getStackTrace();
if (elements != null) {
StringBuffer strBuffer = new StringBuffer("");
for (int i = 0; i < elements.length; i++) {
strBuffer.append(elements[i]).append("\n");
}
error("Stack Trace :: \n" + strBuffer.toString());
strBuffer = null;
}
elements = null;
}// end of if(e != null)
}
/**
* @param logString, error message to log.
* @param messages, messageObject to log.
*/
public static void error(String logString, Object[] messages) {
error(logString);
if (messages != null) {
StringBuffer strBuffer = new StringBuffer("");
for (int i = 0; i < messages.length; i++) {
strBuffer.append(messages[i]).append("\n");
}
error(strBuffer.toString());
strBuffer = null;
}// end of if(messages != null)
}
/**
* @param logString, fatal message to log.
*/
public static void fatal(String logString) {
log.fatal(logString);
}
}// end of class - LoggerUtils
如何在代码中使用
LoggerUtils.info(this.getClass().getName()+ ".name---> Entered");
LoggerUtils.error("Exception : "+ e);