diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..c64c649 --- /dev/null +++ b/.npmignore @@ -0,0 +1,26 @@ +src +README.markdown + +## Editors + +### Eclipse +.classpath +.project +.settings + +### Netbeans +nbproject + +### VIM +.*.sw[a-p] + +### Intellij +*.iml +*.ipr +*.iws +.idea/ + +# Mac +.DS_Store + + diff --git a/src/main/kaffee/event/logevent.coffee b/src/main/kaffee/event/logevent.coffee index 37b5f5c..c176534 100644 --- a/src/main/kaffee/event/logevent.coffee +++ b/src/main/kaffee/event/logevent.coffee @@ -27,7 +27,7 @@ class LogEvent ### The stacktrace of this {@link LogEvent}. ### - stack: [] + stack: null ### The {@link EventManager} of this {@link LogEvent}. @@ -42,14 +42,19 @@ class LogEvent @param level The level of this {@link LogEvent}. @param message The message of this {@link LogEvent}. @param stack The stacktrace. + @param callee The arguments.callee variable to provide more accurate stacktraces. ### - constructor: (manager, level, message, stack = null) -> + constructor: (manager, level, message, stack = null, callee = null) -> this.manager = manager this.level = level this.message = message this.time = Date.now() - this.stack = message.stack if message.stack - this.stack = stack if stack + this.stack = message.stack || stack + if not this.stack + err = new Error this.message + err.name = "" + Error.captureStackTrace(err, callee || arguments.callee); + this.stack = err.stack ### Returns the {@link EventManager} of this {@link LogEvent}. diff --git a/src/main/kaffee/event/manager.coffee b/src/main/kaffee/event/manager.coffee index aecc38f..30b3bd4 100644 --- a/src/main/kaffee/event/manager.coffee +++ b/src/main/kaffee/event/manager.coffee @@ -92,6 +92,7 @@ class EventManager DEBUG : { name : 'debug', value : 1}, INFO : { name : 'info', value : 0 } } + ### Logs a {@link LogEvent}. @@ -108,8 +109,8 @@ class EventManager @since 0.3.0 @param message The message to log. ### - this.error = (message) -> - event = new LogEvent(manager, this.Level.ERROR, message) + this.error = (message) -> + event = new LogEvent(manager, this.Level.ERROR, message, null, arguments.callee) this.log event manager.fire "#{ manager.getName() }:error", message @@ -120,7 +121,7 @@ class EventManager @param message The message to log. ### this.warn = (message) -> - event = new LogEvent(manager, this.Level.WARN, message) + event = new LogEvent(manager, this.Level.WARN, message, null, arguments.callee) this.log event manager.fire "#{ manager.getName() }:warn", message @@ -131,7 +132,7 @@ class EventManager @param message The message to log. ### this.debug = (message) -> - this.log new LogEvent(manager, this.Level.DEBUG, message) + this.log new LogEvent(manager, this.Level.DEBUG, message, null, arguments.callee) manager.fire "#{ manager.getName() }:debug", message ### @@ -141,7 +142,7 @@ class EventManager @param message The message to log. ### this.info = (message) -> - this.log new LogEvent(manager, this.Level.INFO, message) + this.log new LogEvent(manager, this.Level.INFO, message, null, arguments.callee) manager.fire "#{ manager.getName() }:info", message this ) this