[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) {
|
private static String addGeneric(final String level, final String libName) {
|
||||||
String out = level;
|
StringBuilder out = new StringBuilder().append(level);
|
||||||
out += Logger.printElement("", "", Logger.haveLibName, libName, Logger.sizeLibName);
|
out.append(Logger.printElement("", "", Logger.haveLibName, libName, Logger.sizeLibName));
|
||||||
out += Logger.printElement(" | ", "", Logger.haveThreadId, Long.toString(Thread.currentThread().getId()), Logger.sizeThreadId);
|
out.append(Logger.printElement(" | ", "", Logger.haveThreadId, Long.toString(Thread.currentThread().getId()), Logger.sizeThreadId));
|
||||||
out += Logger.printElement(" | ", "", Logger.haveThreadName, Thread.currentThread().getName(), Logger.sizeThreadName);
|
out.append(Logger.printElement(" | ", "", Logger.haveThreadName, Thread.currentThread().getName(), Logger.sizeThreadName));
|
||||||
if (Logger.haveClassName || Logger.haveFileName || Logger.haveLineNumber) {
|
if (Logger.haveClassName || Logger.haveFileName || Logger.haveLineNumber) {
|
||||||
final StackTraceElement callElem = Logger.getCallerElement();
|
final StackTraceElement callElem = Logger.getCallerElement();
|
||||||
out += Logger.printElementLeft(" | l=", "", Logger.haveLineNumber, Long.toString(callElem.getLineNumber()), Logger.sizeLineNumber);
|
out.append(Logger.printElementLeft(" | l=", "", Logger.haveLineNumber, Long.toString(callElem.getLineNumber()), Logger.sizeLineNumber));
|
||||||
out += Logger.printElement(" | ", "", Logger.haveClassName, callElem.getClassName(), Logger.sizeClassName);
|
out.append(Logger.printElement(" | ", "", Logger.haveClassName, callElem.getClassName(), Logger.sizeClassName));
|
||||||
out += Logger.printElement(" | ", "", Logger.haveFileName, callElem.getFileName(), Logger.sizeFileName);
|
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) {
|
public static void critical(final String libName, final String data) {
|
||||||
@ -133,6 +162,10 @@ public class Logger {
|
|||||||
System.exit(-50);
|
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) {
|
public static void debug(final String libName, final String data) {
|
||||||
if (Logger.haveColor) {
|
if (Logger.haveColor) {
|
||||||
System.out.print(Logger.BASH_COLOR_YELLOW);
|
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) {
|
public static void displayBackTrace(final String libNameDraw) {
|
||||||
StackTraceElement[] list = Thread.currentThread().getStackTrace();
|
StackTraceElement[] list = Thread.currentThread().getStackTrace();
|
||||||
Logger.error(libNameDraw, "Display Stacktrace :");
|
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() {
|
private static StackTraceElement getCallerElement() {
|
||||||
if (Thread.currentThread().getStackTrace().length > 5) {
|
if (Thread.currentThread().getStackTrace().length > 5) {
|
||||||
return Thread.currentThread().getStackTrace()[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
|
/** Initialize the library with generic argument in command line
|
||||||
* @param args list of argument that are filtered after */
|
* @param args list of argument that are filtered after */
|
||||||
public static void init(final List<String> args) {
|
public static void init(final List<String> args) {
|
||||||
@ -269,6 +314,10 @@ public class Logger {
|
|||||||
System.out.flush();
|
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) {
|
private static String printElement(final String separator, final String separatorEnd, final boolean isActive, String data, final WrapInt size) {
|
||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
return "";
|
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() {
|
public static void usage() {
|
||||||
Log.print(" [log]: Log session interface");
|
Log.print(" [log]: Log session interface");
|
||||||
Log.print(" --log-level= Change the default log level (set all Log level):");
|
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) {
|
public static void warning(final String libName, final String data) {
|
||||||
if (Logger.haveColor) {
|
if (Logger.haveColor) {
|
||||||
System.out.print(Logger.BASH_COLOR_MAGENTA);
|
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() {}
|
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