OutputLog実装

This commit is contained in:
ろむねこ 2024-06-06 17:47:13 +09:00
parent ee7171186b
commit a402823faf
Signed by: Fujimatsu
GPG Key ID: FA1F39A1BA37D168

View File

@ -1,9 +1,19 @@
package one.nem.kidshift.utils.impl;
import static one.nem.kidshift.utils.enums.LogLevelEnum.INFO;
import android.util.Log;
import java.util.ArrayList;
import one.nem.kidshift.utils.KSLogger;
import one.nem.kidshift.utils.enums.LogLevelEnum;
import one.nem.kidshift.utils.models.LogModel;
public class KSLoggerImpl implements KSLogger {
private ArrayList<LogModel> logs = new ArrayList<LogModel>();
@Override
public KSLogger getChildLogger(String tag) {
return null;
@ -43,4 +53,45 @@ public class KSLoggerImpl implements KSLogger {
public void fatal(String message) {
}
private void log(LogModel log) {
addLog(log);
outputLog(log);
}
private void addLog(LogModel log) {
logs.add(log);
}
private void outputLog(LogModel log) {
// ,区切りで出力
String tags = log.getTags().length > 0 ? String.join(",", log.getTags()) : "UNTAGGED";
LogLevelEnum level = log.getLogLevel();
String message = log.getMessage();
switch (level) {
case INFO:
Log.i(tags, message);
break;
case WARN:
Log.w(tags, message);
break;
case ERROR:
Log.e(tags, message);
break;
case DEBUG:
Log.d(tags, message);
break;
case TRACE:
Log.v(tags, message);
break;
case FATAL:
Log.wtf(tags, message);
break;
default:
Log.i(tags, message);
break;
}
}
}