3.5 KiB
3.5 KiB
log.close
to close streams and shutdown andthis.closed
- line/file: possible to get quickly with v8? Yunong asked.
- what's the API for changing the logger/stream level(s)?
- bunyan cli: more layouts (http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/EnhancedPatternLayout.html) Custom log formats (in config file? in '-f' arg) using printf or hogan.js or whatever. Dap wants field width control for lining up. Hogan.js is probably overkill for this.
- bunyan cli: filter args a la json
- bunyan cli: -c COND args a la json
- mark wants pretty output for debug output
- not sure if 'bunyan --pretty' or whatever would suffice
- ringBuffer stream
- syslog: Josh uses https://github.com/chrisdew/node-syslog streams: [ ... { level: "warn", type: "syslog", syslog_facility: "LOG_LOCAL1", // one of the syslog facility defines syslog_pid: true, // syslog logopt "LOG_PID" syslog_cons: false // syslog logopt "LOG_CONS" }
- Logger.setLevel()? How to change level for a given stream. Default all, else, give an index... or type ... or support stream "names".
- "canWrite" handling for full streams. Need to buffer a la log4js
- test file log with logadm rotation: does it handle that?
- test suite:
- test for a cloned logger double-
stream.end()
causing problems. Perhaps the "closeOnExit" for existing streams should be false for clones. - test that a
log.clone(...)
adding a new field matching a serializer works and that an existing field in the parent is not re-serialized.
- test for a cloned logger double-
- a "rolling-file" stream: but specifically by time, e.g. hourly. (MarkC requested)
someday/maybe
- file/line fields automatic: "but it's fucking slow" (https://gist.github.com/1733234) function getFileAndLine() { var self = this; var saveLimit = Error.stackTraceLimit; var savePrepare = Error.prepareStackTrace; Error.stackTraceLimit = 1; Error.captureStackTrace(this, getFileAndLine); Error.prepareStackTrace = function(_, stack) { self.file = stack[0].getFileName(); self.line = stack[0].getLineNumber(); }; this.stack; Error.stackTraceLimit = saveLimit; Error.prepareStackTrace = savePrepare; return { file: self.file, line: self.line } } Want some way to have file/line only at certain levesl and lazily.
- get Mark to show me dtrace provider stuff and consider adding for logging, if helpful.
- add option to "streams" to take the raw object, not serialized. It would be a good hook for people with custom needs that Bunyan doesn't care about (e.g. log.ly or hook.io or whatever).
- split out
bunyan
cli to a "bunyan" or "bunyan-reader" or "node-bunyan-reader" as the basis for tools to consume bunyan logs. It can grow indep of node-bunyan for generating the logs. It would take a Bunyan log record object and be expected to emit it. - serializer
request_id
that pulls it from req?log.info({request_id: req}, "hi")
- serializer support:
- restify-server.js example -> restifyReq ? or have
req
detect that. That is nicer for the "use all standard ones". Does restify req have anything special? - differential HTTP client req/res with server req/res.
- restify-server.js example -> restifyReq ? or have
- statsd stream? http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/ Think about it.