Logs
This commit is contained in:
16
app/src/main/java/logging/AndroidLogger.java
Normal file
16
app/src/main/java/logging/AndroidLogger.java
Normal file
@ -0,0 +1,16 @@
|
||||
package logging;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
public class AndroidLogger implements Logger {
|
||||
private final String tag;
|
||||
|
||||
public AndroidLogger(Class<?> clazz) {
|
||||
this.tag = clazz.getSimpleName();
|
||||
}
|
||||
|
||||
public void debug(String msg) { Log.d(tag, msg); }
|
||||
public void info(String msg) { Log.i(tag, msg); }
|
||||
public void warn(String msg) { Log.w(tag, msg); }
|
||||
public void error(String msg) { Log.e(tag, msg); }
|
||||
}
|
||||
12
app/src/main/java/logging/Logger.java
Normal file
12
app/src/main/java/logging/Logger.java
Normal file
@ -0,0 +1,12 @@
|
||||
package logging;
|
||||
|
||||
public interface Logger {
|
||||
void debug(String msg);
|
||||
void info(String msg);
|
||||
void warn(String msg);
|
||||
void error(String msg);
|
||||
|
||||
static Logger getLogger(Class<?> clazz) {
|
||||
return LoggerFactory.createLogger(clazz); // Подменяется реализацией
|
||||
}
|
||||
}
|
||||
21
app/src/main/java/logging/LoggerFactory.java
Normal file
21
app/src/main/java/logging/LoggerFactory.java
Normal file
@ -0,0 +1,21 @@
|
||||
package logging;
|
||||
|
||||
public class LoggerFactory {
|
||||
public static Logger createLogger(Class<?> clazz) {
|
||||
// Тут выбираешь реализацию по флагу/условию
|
||||
//if (isAndroid()) {
|
||||
return new AndroidLogger(clazz);
|
||||
//} else {
|
||||
// return new SLF4JLogger(clazz);
|
||||
//}
|
||||
}
|
||||
|
||||
private static boolean isAndroid() {
|
||||
try {
|
||||
Class.forName("android.os.Build");
|
||||
return true;
|
||||
} catch (ClassNotFoundException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user