diff --git a/logg/logg-test.ts b/logg/logg-test.ts new file mode 100644 index 0000000000..43c1524efe --- /dev/null +++ b/logg/logg-test.ts @@ -0,0 +1,37 @@ +/// + +import logging = module("logg"); + +var logger = logging.getLogger('my.class'); +logger = logging.getTransientLogger('my.class'); +logger.setLogLevel(logging.Level.SEVERE); +logger.setLogLevel(logging.Level.WARN); +logger.setLogLevel(logging.Level.INFO); + +logger = logging.rootLogger; + +logger.setLogLevel(logging.Level.FINE); +logger.setLogLevel(logging.Level.FINER); +logger.setLogLevel(logging.Level.FINEST); +logger.info('This will not show up'); +logger.warn('But warnings will', new Error('aargg')); +logger.fine("test", {}, []); +logger.error("dsfs", {}); + +logging.registerWatcher(function(logRecord) { + console.log(logRecord); +}); + +logger.registerWatcher(function(logRecord) { + console.log(logRecord); +}); + +logger.getWatchers()[0](); +logger.isLoggable(500) === true; + +var logger2 = logging.getLogger("hi"); + +logger.setParent(logger2); +logger.getParent().info(500); + +var i: number = logger.getLogLevel(); \ No newline at end of file diff --git a/logg/logg.d.ts b/logg/logg.d.ts new file mode 100644 index 0000000000..b8e2acc523 --- /dev/null +++ b/logg/logg.d.ts @@ -0,0 +1,32 @@ +interface Logger { + setLogLevel: (level: number)=> void; + getLogLevel: ()=> number; + setParent: (logger: Logger)=> void; + getParent: ()=> Logger; + registerWatcher: (watcher: (logRecord: string)=> void)=> void; + getWatchers: ()=> Function[]; + log: (level: number, ...var_args: any[])=> void; + fine: (...var_args: any[])=> void; + info: (...var_args: any[])=> void; + warn: (...var_args: any[])=> void; + error: (...var_args: any[])=> void; + isLoggable: (level: number)=> bool; +} + +interface loggingLevels { + SEVERE: number; + WARN: number; + INFO: number; + FINE: number; + FINER: number; + FINEST: number; + toString: (level: number) => string; +} + +declare module "logg" { + export function getLogger(name: string): Logger; + export function getTransientLogger(name: string): Logger; + export var Level : loggingLevels; + export var rootLogger: Logger; + export var registerWatcher: (watcher: (logRecord: string)=> void)=> void; +} \ No newline at end of file