[DEV] continue integration new model of log.
This commit is contained in:
parent
5b6125bec2
commit
0affb5e741
44
lutin_io-scenarium-logger.py
Normal file
44
lutin_io-scenarium-logger.py
Normal file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/python
|
||||
import realog.debug as debug
|
||||
import lutin.tools as tools
|
||||
import realog.debug as debug
|
||||
import lutin.image as image
|
||||
import os
|
||||
import lutin.multiprocess as lutinMultiprocess
|
||||
|
||||
|
||||
def get_type():
|
||||
return "LIBRARY_DYNAMIC"
|
||||
|
||||
def get_desc():
|
||||
return "Scenarium logger"
|
||||
|
||||
def get_licence():
|
||||
return "MPL-2"
|
||||
|
||||
def get_compagny_type():
|
||||
return "com"
|
||||
|
||||
def get_compagny_name():
|
||||
return "scenarium"
|
||||
|
||||
#def get_maintainer():
|
||||
# return "authors.txt"
|
||||
|
||||
#def get_version():
|
||||
# return "version.txt"
|
||||
|
||||
def configure(target, my_module):
|
||||
|
||||
my_module.add_src_file([
|
||||
'src/module-info.java',
|
||||
'src/io/scenarium/logger/LogLevel.java',
|
||||
'src/io/scenarium/logger/Logger.java',
|
||||
'src/io/scenarium/logger/internal/Log.java',
|
||||
])
|
||||
my_module.add_path('src/', type='java')
|
||||
|
||||
my_module.add_flag('java', "RELEASE_15_PREVIEW");
|
||||
|
||||
return True
|
||||
|
@ -99,17 +99,46 @@ public class Logger {
|
||||
}
|
||||
|
||||
private static String addGeneric(final String level, final String libName) {
|
||||
String out = level;
|
||||
out += Logger.printElement("", "", Logger.haveLibName, libName, Logger.sizeLibName);
|
||||
out += Logger.printElement(" | ", "", Logger.haveThreadId, Long.toString(Thread.currentThread().getId()), Logger.sizeThreadId);
|
||||
out += Logger.printElement(" | ", "", Logger.haveThreadName, Thread.currentThread().getName(), Logger.sizeThreadName);
|
||||
StringBuilder out = new StringBuilder().append(level);
|
||||
out.append(Logger.printElement("", "", Logger.haveLibName, libName, Logger.sizeLibName));
|
||||
out.append(Logger.printElement(" | ", "", Logger.haveThreadId, Long.toString(Thread.currentThread().getId()), Logger.sizeThreadId));
|
||||
out.append(Logger.printElement(" | ", "", Logger.haveThreadName, Thread.currentThread().getName(), Logger.sizeThreadName));
|
||||
if (Logger.haveClassName || Logger.haveFileName || Logger.haveLineNumber) {
|
||||
final StackTraceElement callElem = Logger.getCallerElement();
|
||||
out += Logger.printElementLeft(" | l=", "", Logger.haveLineNumber, Long.toString(callElem.getLineNumber()), Logger.sizeLineNumber);
|
||||
out += Logger.printElement(" | ", "", Logger.haveClassName, callElem.getClassName(), Logger.sizeClassName);
|
||||
out += Logger.printElement(" | ", "", Logger.haveFileName, callElem.getFileName(), Logger.sizeFileName);
|
||||
out.append(Logger.printElementLeft(" | l=", "", Logger.haveLineNumber, Long.toString(callElem.getLineNumber()), Logger.sizeLineNumber));
|
||||
out.append(Logger.printElement(" | ", "", Logger.haveClassName, callElem.getClassName(), Logger.sizeClassName));
|
||||
out.append(Logger.printElement(" | ", "", Logger.haveFileName, callElem.getFileName(), Logger.sizeFileName));
|
||||
}
|
||||
return out;
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace all the values {} with the associated value in the parameters
|
||||
* @param data A generic string composed with "{}" element that will be replace.
|
||||
* @param values List of all element to add in the string.
|
||||
* @return a string with all the transformed data.
|
||||
*/
|
||||
public static String concatenate(final String data, Object... values) {
|
||||
String[] cliped = data.split("{}");
|
||||
StringBuilder out = new StringBuilder();
|
||||
int nbElement = Math.max(values.length, cliped.length);
|
||||
for (int iii = 0; iii < nbElement; iii++) {
|
||||
if (iii < cliped.length) {
|
||||
out.append(cliped[iii]);
|
||||
} else {
|
||||
out.append(" ?? ");
|
||||
}
|
||||
if (iii < values.length) {
|
||||
if (values[iii] == null) {
|
||||
out.append("null");
|
||||
} else {
|
||||
out.append(values[iii].toString());
|
||||
}
|
||||
} else {
|
||||
out.append("{}");
|
||||
}
|
||||
}
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
public static void critical(final String libName, final String data) {
|
||||
@ -133,6 +162,10 @@ public class Logger {
|
||||
System.exit(-50);
|
||||
}
|
||||
|
||||
public static void critical(final String libName, final String data, Object... values) {
|
||||
critical(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
public static void debug(final String libName, final String data) {
|
||||
if (Logger.haveColor) {
|
||||
System.out.print(Logger.BASH_COLOR_YELLOW);
|
||||
@ -143,6 +176,10 @@ public class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
public static void debug(final String libName, final String data, Object... values) {
|
||||
debug(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
public static void displayBackTrace(final String libNameDraw) {
|
||||
StackTraceElement[] list = Thread.currentThread().getStackTrace();
|
||||
Logger.error(libNameDraw, "Display Stacktrace :");
|
||||
@ -162,6 +199,10 @@ public class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
public static void error(final String libName, final String data, Object... values) {
|
||||
error(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
private static StackTraceElement getCallerElement() {
|
||||
if (Thread.currentThread().getStackTrace().length > 5) {
|
||||
return Thread.currentThread().getStackTrace()[5];
|
||||
@ -207,6 +248,10 @@ public class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
public static void info(final String libName, final String data, Object... values) {
|
||||
info(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
/** Initialize the library with generic argument in command line
|
||||
* @param args list of argument that are filtered after */
|
||||
public static void init(final List<String> args) {
|
||||
@ -269,6 +314,10 @@ public class Logger {
|
||||
System.out.flush();
|
||||
}
|
||||
|
||||
public static void print(final String libName, final String data, Object... values) {
|
||||
print(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
private static String printElement(final String separator, final String separatorEnd, final boolean isActive, String data, final WrapInt size) {
|
||||
if (!isActive) {
|
||||
return "";
|
||||
@ -313,6 +362,10 @@ public class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
public static void todo(final String libName, final String data, Object... values) {
|
||||
todo(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
public static void usage() {
|
||||
Log.print(" [log]: Log session interface");
|
||||
Log.print(" --log-level= Change the default log level (set all Log level):");
|
||||
@ -344,6 +397,10 @@ public class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
public static void verbose(final String libName, final String data, Object... values) {
|
||||
verbose(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
public static void warning(final String libName, final String data) {
|
||||
if (Logger.haveColor) {
|
||||
System.out.print(Logger.BASH_COLOR_MAGENTA);
|
||||
@ -354,5 +411,9 @@ public class Logger {
|
||||
}
|
||||
}
|
||||
|
||||
public static void warning(final String libName, final String data, Object... values) {
|
||||
warning(libName, concatenate(data, values));
|
||||
}
|
||||
|
||||
private Logger() {}
|
||||
}
|
||||
|
130
src/io/scenarium/logger/LoggerLocal.java
Normal file
130
src/io/scenarium/logger/LoggerLocal.java
Normal file
@ -0,0 +1,130 @@
|
||||
package io.scenarium.logger;
|
||||
|
||||
public class LoggerLocal {
|
||||
private final String className;
|
||||
private final String libraryName;
|
||||
private final String libraryNameDraw;
|
||||
private final boolean force;
|
||||
private final boolean printCritical;
|
||||
private final boolean printDebug;
|
||||
private final boolean printError;
|
||||
private final boolean printInfo;
|
||||
private final boolean printPrint;
|
||||
private final boolean printTodo;
|
||||
private final boolean printVerbose;
|
||||
private final boolean printWarning;
|
||||
|
||||
public LoggerLocal(String libraryName, final Class<?> clazz) {
|
||||
this(libraryName, clazz, false);
|
||||
}
|
||||
|
||||
public LoggerLocal(String libraryName, final Class<?> clazz, boolean force) {
|
||||
this.force = force;
|
||||
this.libraryName = libraryName;
|
||||
this.className = clazz.getCanonicalName();
|
||||
this.libraryNameDraw = Logger.getDrawableName(this.libraryName);
|
||||
this.printCritical = Logger.getNeedPrint(this.libraryName, LogLevel.CRITICAL);
|
||||
this.printDebug = Logger.getNeedPrint(this.libraryName, LogLevel.DEBUG);
|
||||
this.printError = Logger.getNeedPrint(this.libraryName, LogLevel.ERROR);
|
||||
this.printInfo = Logger.getNeedPrint(this.libraryName, LogLevel.INFO);
|
||||
this.printPrint = Logger.getNeedPrint(this.libraryName, LogLevel.PRINT);
|
||||
this.printTodo = Logger.getNeedPrint(this.libraryName, LogLevel.TODO);
|
||||
this.printVerbose = Logger.getNeedPrint(this.libraryName, LogLevel.VERBOSE);
|
||||
this.printWarning = Logger.getNeedPrint(this.libraryName, LogLevel.WARNING);
|
||||
}
|
||||
|
||||
public void critical(final String data) {
|
||||
if (this.printCritical || this.force) {
|
||||
Logger.critical(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void critical(final String data, Object... values) {
|
||||
if (this.printCritical || this.force) {
|
||||
Logger.critical(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
public void debug(final String data) {
|
||||
if (this.printDebug || this.force) {
|
||||
Logger.debug(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void debug(final String data, Object... values) {
|
||||
if (this.printDebug || this.force) {
|
||||
Logger.debug(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
public void displayBackTrace() {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
public void error(final String data) {
|
||||
if (this.printError || this.force) {
|
||||
Logger.error(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void error(final String data, Object... values) {
|
||||
if (this.printError || this.force) {
|
||||
Logger.error(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
public void info(final String data) {
|
||||
if (this.printInfo || this.force) {
|
||||
Logger.info(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void info(final String data, Object... values) {
|
||||
if (this.printInfo || this.force) {
|
||||
Logger.info(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
public void print(final String data) {
|
||||
if (this.printPrint || this.force) {
|
||||
Logger.print(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void print(final String data, Object... values) {
|
||||
if (this.printPrint || this.force) {
|
||||
Logger.print(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
public void todo(final String data) {
|
||||
if (this.printTodo || this.force) {
|
||||
Logger.todo(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void todo(final String data, Object... values) {
|
||||
if (this.printTodo || this.force) {
|
||||
Logger.todo(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
public void verbose(final String data) {
|
||||
if (this.printVerbose || this.force) {
|
||||
Logger.verbose(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void warning(final String data) {
|
||||
if (this.printWarning || this.force) {
|
||||
Logger.warning(this.libraryNameDraw, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void warning(final String data, Object... values) {
|
||||
if (this.printWarning || this.force) {
|
||||
Logger.warning(this.libraryNameDraw, data, values);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user