Skip to content

Commit

Permalink
Merge pull request #2 from Riningan/version_1.0
Browse files Browse the repository at this point in the history
version 1.0
  • Loading branch information
Riningan authored Jan 6, 2019
2 parents 38a5066 + 4b7cde9 commit fbc3740
Show file tree
Hide file tree
Showing 5 changed files with 153 additions and 191 deletions.
6 changes: 3 additions & 3 deletions logger/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "0.1"
versionCode 2
versionName "1.0"
}
}

Expand All @@ -23,7 +23,7 @@ ext {
siteUrl = 'https://github.com/Riningan/Logger'
gitUrl = 'https://github.com/Riningan/Logger.git'

libraryVersion = '0.1'
libraryVersion = '1.0'

developerId = 'Riningan'
developerName = 'Vadim Akhmarov'
Expand Down
285 changes: 118 additions & 167 deletions logger/src/main/java/com/riningan/util/Log.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,246 +8,197 @@


public class Log {
private LoggerConfig config;
private Object mThis = null;
private final LoggerConfig mConfig;
private final Semaphore mSemaphore = new Semaphore(1, true);
private final LinkedList<Pair<MessageType, String>> mLogQueue = new LinkedList<>();
private Object mThis = null;


Log(LoggerConfig config) {
this.config = config;
mConfig = config;
}


void forThis(Object object) {
try {
mSemaphore.acquire();
} catch (InterruptedException ignored) {
}
mThis = object;
}


public void debug() {
String msg = getClassAndMethodOfThis();
addDebug(msg);
mThis = null;
mSemaphore.release();
if (mConfig.isEnabled()) {
String msg = getClassAndMethod();
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String message) {
String msg = getClassAndMethodOfThis() + " - " + message;
addDebug(msg);
mThis = null;
mSemaphore.release();
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + " - " + message;
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, String value) {
String msg = getClassAndMethodOfThis() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, int value) {
String msg = getClassAndMethodOfThis() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
public void debug(String param, boolean value) {
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, boolean value) {
String msg = getClassAndMethodOfThis() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
public void debug(String param, int value) {
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, long value) {
String msg = getClassAndMethodOfThis() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, double value) {
String msg = getClassAndMethodOfThis() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
public void debug(String param, float value) {
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, float value) {
String msg = getClassAndMethodOfThis() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
public void debug(String param, double value) {
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
mThis = null;
mSemaphore.release();
}
}

public void debug(String param, String value, String... params) {
StringBuilder msg = new StringBuilder(getClassAndMethodOfThis() + "(" + param + " = " + value);
for (int i = 0; i < params.length - 1; i += 2) {
msg.append(", ").append(params[i]).append(" = ").append(params[i + 1]);
}
if (params.length % 2 == 0) {
msg.append(")");
} else {
msg.append(") - ").append(params[params.length - 1]);
if (mConfig.isEnabled()) {
StringBuilder msg = new StringBuilder(getClassAndMethod() + "(" + param + " = " + value);
for (int i = 0; i < params.length - 1; i += 2) {
msg.append(", ").append(params[i]).append(" = ").append(params[i + 1]);
}
if (params.length % 2 == 0) {
msg.append(")");
} else {
msg.append(") - ").append(params[params.length - 1]);
}
addDebug(msg.toString());
mThis = null;
mSemaphore.release();
}
addDebug(msg.toString());
mThis = null;
mSemaphore.release();
}


public void error(String message) {
int line = Thread.currentThread().getStackTrace()[4].getLineNumber();
String msg = getClassAndMethodOfThis() + "(" + Integer.toString(line) + ") - " + message;
addError(msg);
mThis = null;
mSemaphore.release();
if (mConfig.isEnabled()) {
int line = Thread.currentThread().getStackTrace()[4].getLineNumber();
String msg = getClassAndMethod() + "(" + Integer.toString(line) + ") - " + message;
addError(msg);
mThis = null;
mSemaphore.release();
}
}

public void error(Throwable throwable) {
int line = Thread.currentThread().getStackTrace()[4].getLineNumber();
String msg = getClassAndMethodOfThis() + "(" + Integer.toString(line) + ") - " + throwable.getMessage();
addError(msg);
mThis = null;
mSemaphore.release();
if (mConfig.isEnabled()) {
int line = Thread.currentThread().getStackTrace()[4].getLineNumber();
String msg = getClassAndMethod() + "(" + Integer.toString(line) + ") - " + throwable.getMessage();
addError(msg);
mThis = null;
mSemaphore.release();
}
}


public void info() {
String msg = getClassAndMethodOfThis();
addInfo(msg);
mThis = null;
mSemaphore.release();
}

public void info(String message) {
String msg = getClassAndMethodOfThis() + " - " + message;
addInfo(msg);
mThis = null;
mSemaphore.release();
}


void forThis(Object object) {
try {
mSemaphore.acquire();
} catch (InterruptedException ignored) {
if (mConfig.isEnabled()) {
String msg = getClassAndMethod();
addInfo(msg);
mThis = null;
mSemaphore.release();
}
mThis = object;
}


void debugThread() {
String msg = getClassAndMethod();
addDebug(msg);
}

void debugThread(String message) {
String msg = getClassAndMethod() + " - " + message;
addDebug(msg);
}

void debugThread(String param, String value) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
}

void debugThread(String param, int value) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
}

void debugThread(String param, boolean value) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
}

void debugThread(String param, long value) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
}

void debugThread(String param, double value) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
}

void debugThread(String param, float value) {
String msg = getClassAndMethod() + "(" + param + " = " + value + ")";
addDebug(msg);
}

void debugThread(String param, String value, String... params) {
StringBuilder msg = new StringBuilder(getClassAndMethod() + "(" + param + " = " + value);
for (int i = 0; i < params.length - 1; i += 2) {
msg.append(", ").append(params[i]).append(" = ").append(params[i + 1]);
}
if (params.length % 2 == 0) {
msg.append(")");
} else {
msg.append(") - ").append(params[params.length - 1]);
public void info(String message) {
if (mConfig.isEnabled()) {
String msg = getClassAndMethod() + " - " + message;
addInfo(msg);
mThis = null;
mSemaphore.release();
}
addDebug(msg.toString());
}


void errorThread(String message) {
int line = Thread.currentThread().getStackTrace()[5].getLineNumber();
String msg = getClassAndMethod() + "(" + Integer.toString(line) + ") - " + message;
addError(msg);
}

void errorThread(Throwable throwable) {
int line = Thread.currentThread().getStackTrace()[5].getLineNumber();
String msg = getClassAndMethod() + "(" + Integer.toString(line) + ") - " + throwable.getMessage();
addError(msg);
}


void infoThread() {
String msg = getClassAndMethod();
addInfo(msg);
}

void infoThread(String message) {
String msg = getClassAndMethod() + " - " + message;
addInfo(msg);
}


private synchronized void addDebug(String message) {
String fullMessage = getPrefix() + ": " + message;
android.util.Log.d(MessageType.DEBUG.name(), fullMessage);
addToQueue(MessageType.DEBUG, fullMessage);
config.onNewMessage(MessageType.DEBUG, fullMessage);
mConfig.onNewMessage(MessageType.DEBUG, fullMessage);
}

private synchronized void addError(String message) {
String fullMessage = getPrefix() + ": " + message;
android.util.Log.e(MessageType.ERROR.name(), fullMessage);
addToQueue(MessageType.ERROR, fullMessage);
config.onNewMessage(MessageType.ERROR, fullMessage);
mConfig.onNewMessage(MessageType.ERROR, fullMessage);
}

private synchronized void addInfo(String message) {
String fullMessage = getPrefix() + ": " + message;
android.util.Log.i(MessageType.INFO.name(), fullMessage);
addToQueue(MessageType.INFO, fullMessage);
config.onNewMessage(MessageType.INFO, fullMessage);
mConfig.onNewMessage(MessageType.INFO, fullMessage);
}


private String getClassAndMethod() {
String className = Thread.currentThread().getStackTrace()[5].getClassName();
String methodName = Thread.currentThread().getStackTrace()[5].getMethodName();
return className.substring(config.getApplicationIdLength()) + "." + methodName;
String className;
String methodName;
if (mThis == null) {
className = Thread.currentThread().getStackTrace()[5].getClassName();
methodName = Thread.currentThread().getStackTrace()[5].getMethodName();
} else {
className = mThis.getClass().getName();
methodName = Thread.currentThread().getStackTrace()[4].getMethodName();
}
return className.substring(mConfig.getApplicationIdLength()) + "." + methodName;
}

private String getClassAndMethodOfThis() {
String className = mThis.getClass().getName();
String methodName = Thread.currentThread().getStackTrace()[4].getMethodName();
return className.substring(config.getApplicationIdLength()) + "." + methodName;
}

private String getPrefix() {
return config.getPreffix() + "time(" + config.getDateTime() + "): process(" + Process.myPid() + "): thread(" + Thread.currentThread().getId() + ")";
return mConfig.getPreffix() + "time(" + mConfig.getDateTime() + "): process(" + Process.myPid() + "): thread(" + Thread.currentThread().getId() + ")";
}


private void addToQueue(MessageType type, String msg) {
synchronized (mLogQueue) {
if (mLogQueue.size() > 100) {
Expand All @@ -256,4 +207,4 @@ private void addToQueue(MessageType type, String msg) {
mLogQueue.add(new Pair<>(type, msg));
}
}
}
}
Loading

0 comments on commit fbc3740

Please sign in to comment.