Better logging

Separated log streams for access log (defaults to stdout) and general
log (defaults to stderr). Added support for writing logs to a file.
Improved formatting and added support for JSON formatted logs.
This commit is contained in:
Zaid Abdulla committed 2017-02-19 10:22:50 -08:00
1 parent 8a33d6934a
commit 0097a75cab
7 files changed
+544 -97

No files matched your search

+13 -11
View File
@@ -15,17 +15,18 @@
# along with GenieACS. If not, see <http://www.gnu.org/licenses/>.
###
service = process.argv[2]
if not service?
throw new Error('Missing argument cwmp, fs, or nbi')
util = require 'util'
cluster = require 'cluster'
logger = require './logger'
logger.init(service, require('../package.json').version)
config = require './config'
db = require './db'
extensions = require './extensions'
service = config.argv[0]
if not service?
throw new Error('Missing argument cwmp, fs, or nbi')
networkInterface = config.get("#{service.toUpperCase()}_INTERFACE")
port = config.get("#{service.toUpperCase()}_PORT")
useHttps = config.get("#{service.toUpperCase()}_SSL")
@@ -45,21 +46,22 @@ exit = () ->
if not server
db.disconnect()
extensions.killAll()
logger.close()
return
server.close(() ->
db.disconnect()
extensions.killAll()
logger.close()
)
process.on('uncaughtException', (err) ->
try
util.error("#{new Date().toISOString()} - #{err.stack}\n")
exit()
catch err
util.error("#{new Date().toISOString()} - #{err.stack}\n")
throw err
logger.error({
message: 'Uncaught exception'
exception: err
})
exit()
)