mirror of
https://github.com/atlanticbiomedical/biomedjs.git
synced 2025-07-02 00:47:26 -04:00
Added node-modules
This commit is contained in:
4
node_modules/log4node/.npmignore
generated
vendored
Normal file
4
node_modules/log4node/.npmignore
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
test/test.log*
|
||||
test/process.pid
|
6
node_modules/log4node/CHANGELOG
generated
vendored
Normal file
6
node_modules/log4node/CHANGELOG
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
CHANGELOG
|
||||
|
||||
0.1.2
|
||||
|
||||
* feature : getter on log level, thx to @dax
|
||||
* feature : specify prefix as function, thx to @dax
|
132
node_modules/log4node/Readme.markdown
generated
vendored
Normal file
132
node_modules/log4node/Readme.markdown
generated
vendored
Normal file
@ -0,0 +1,132 @@
|
||||
# Overview
|
||||
|
||||
This module is designed to be used with Node Cluster in production:
|
||||
* one log file for all workers
|
||||
* compatible with logrotate: an USR2 signal reopen the log file
|
||||
|
||||
This module is compatible with node 0.8.x. For the node 0.6.x, please use version 0.0.1 of this module.
|
||||
|
||||
This module is inspired from [this module](https://github.com/visionmedia/log.js).
|
||||
|
||||
# How to use it
|
||||
|
||||
## Installation
|
||||
|
||||
npm install log4node
|
||||
|
||||
## Usage
|
||||
|
||||
Default logger:
|
||||
```js
|
||||
var log = require('log4node');
|
||||
|
||||
log.error("this is a log");
|
||||
```
|
||||
Will output to console.
|
||||
|
||||
Note: you can reconfigure default logger by calling
|
||||
|
||||
log.reconfigure({level: 'info', file: 'toto.log'});
|
||||
|
||||
Will now write into `toto.log`
|
||||
|
||||
Your custom logger:
|
||||
```js
|
||||
var log4node = require('log4node');
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.error("this is a log");
|
||||
log.debug("this is a debug log");
|
||||
```
|
||||
|
||||
Note : you can use the syntax accepted by [`utils.format`](http://nodejs.org/api/util.html#util_util_format_format).
|
||||
|
||||
## Log level
|
||||
|
||||
Log level can be adjusted for each logger:
|
||||
|
||||
log.setLogLevel('info');
|
||||
|
||||
Log level for default logger is 'info'.
|
||||
|
||||
Available log levels are:
|
||||
|
||||
* emergency
|
||||
* alert
|
||||
* critical
|
||||
* error
|
||||
* warning
|
||||
* notice
|
||||
* info
|
||||
* debug
|
||||
|
||||
## Prefix
|
||||
|
||||
Prefix of log lines can be changed:
|
||||
|
||||
```js
|
||||
log.setPrefix("%d - %p ");
|
||||
```
|
||||
|
||||
You can use following field in prefix:
|
||||
* `%d`: current date
|
||||
* `%p`: current process id
|
||||
* `%l`: log level
|
||||
|
||||
Default prefix is: `[%d] %l `
|
||||
|
||||
## Cluster mode
|
||||
|
||||
Workers processes will send logs to the cluster master for writing to file.
|
||||
|
||||
Setup is fully transparent for developper.
|
||||
|
||||
A full example can be found [here](https://github.com/bpaquet/log4node/blob/master/test/cluster/test1.js).
|
||||
|
||||
## Reopen log file
|
||||
|
||||
Just send USR2 signal to node process, or, in cluster mode, to master node process:
|
||||
|
||||
kill -USR2 pid
|
||||
|
||||
Example of logrotate file:
|
||||
|
||||
/var/log/node.log {
|
||||
rotate 5
|
||||
weekly
|
||||
postrotate
|
||||
kill -USR2 `cat process.pid`
|
||||
endscript
|
||||
}
|
||||
|
||||
## Create a specialized logger
|
||||
This feature is provided to specialize a logger for a sub-component.
|
||||
You can create a new logger with its own level and prefix for a sub-component.
|
||||
The logs will be send to the same files with a prefix.
|
||||
|
||||
```js
|
||||
log = new log4node.Log4Node('warning', 'test.log');
|
||||
sublogger1 = log.clone({prefix:'SUBMODULE - ', level:'error');
|
||||
```
|
||||
|
||||
or with the default logger
|
||||
|
||||
```js
|
||||
sublogger1 = log4node.clone(prefix:'SUBMODULE - ', level:'error');
|
||||
```
|
||||
|
||||
# License
|
||||
|
||||
Copyright 2012 Bertrand Paquet
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
175
node_modules/log4node/lib/log4node.js
generated
vendored
Normal file
175
node_modules/log4node/lib/log4node.js
generated
vendored
Normal file
@ -0,0 +1,175 @@
|
||||
// Copyright 2012 Bertrand Paquet
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
var fs = require('fs'),
|
||||
util = require('util'),
|
||||
cluster = require('cluster'),
|
||||
events = require('events');
|
||||
|
||||
var
|
||||
loggers = {},
|
||||
// levels are accessible through the exports object in uppercase
|
||||
// eg: exports.EMERGENCY === 0
|
||||
// all levels are also available as function helpers
|
||||
// eg: logger.alert('message')
|
||||
levels = {
|
||||
'emergency': 0,
|
||||
'alert': 1,
|
||||
'critical': 2,
|
||||
'error': 3,
|
||||
'warning': 4,
|
||||
'notice': 5,
|
||||
'info': 6,
|
||||
'debug': 7
|
||||
}
|
||||
|
||||
var sig_listener = new events.EventEmitter();
|
||||
sig_listener.setMaxListeners(0);
|
||||
|
||||
process.on('SIGUSR2', function() {
|
||||
sig_listener.emit('SIGUSR2');
|
||||
});
|
||||
|
||||
cluster.on('online', function(worker) {
|
||||
worker.on('message', function(msg) {
|
||||
if (msg.log && msg.logger_id && loggers[msg.logger_id]) {
|
||||
loggers[msg.logger_id].write(msg.log);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
function computePrefix(prefix, level) {
|
||||
if (typeof prefix === 'function') {
|
||||
return prefix(level);
|
||||
}
|
||||
else {
|
||||
return prefix
|
||||
.replace(/%d/, new Date().toUTCString())
|
||||
.replace(/%l/, level.toUpperCase())
|
||||
.replace(/%p/, process.pid);
|
||||
}
|
||||
}
|
||||
|
||||
function Log4Node(config) {
|
||||
config = config || {};
|
||||
if (config.parent) {
|
||||
this.parent = config.parent;
|
||||
this.setLogLevel(config.level || this.parent.level);
|
||||
var child_prefix = config.prefix || '';
|
||||
this.prefix = function(level) {
|
||||
return computePrefix(this.parent.prefix, level) + computePrefix(child_prefix, level);
|
||||
}.bind(this);
|
||||
this.id = this.parent.id;
|
||||
}
|
||||
else {
|
||||
this.setLogLevel(config.level);
|
||||
this.prefix = config.prefix || "[%d] %l ";
|
||||
this.id = config.file || 'stdout';
|
||||
loggers[this.id] = this;
|
||||
if (cluster.isMaster) {
|
||||
if (config.file === undefined) {
|
||||
this.stream = process.stdout;
|
||||
}
|
||||
else {
|
||||
this.file = config.file;
|
||||
this.reopen();
|
||||
sig_listener.on('SIGUSR2', function() {
|
||||
this.reopen();
|
||||
}.bind(this));
|
||||
this.stream.on('error', function(err) {
|
||||
console.warn('Unable to write into file : ' + this.file + ' ' + err);
|
||||
}.bind(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Log4Node.prototype.clone = function(config) {
|
||||
config = config || {};
|
||||
config.parent = this;
|
||||
return new Log4Node(config);
|
||||
}
|
||||
|
||||
Log4Node.prototype.reopen = function() {
|
||||
if (this.stream) {
|
||||
this.stream.end();
|
||||
}
|
||||
this.stream = fs.createWriteStream(this.file, {flags: 'a', encoding: 'utf-8'});
|
||||
}
|
||||
|
||||
Log4Node.prototype.setPrefix = function(prefix) {
|
||||
this.prefix = prefix;
|
||||
}
|
||||
|
||||
Log4Node.prototype.setLogLevel = function(level) {
|
||||
if (typeof level === 'string') level = levels[level];
|
||||
this.level = level === undefined ? levels.info : level;
|
||||
}
|
||||
|
||||
Log4Node.prototype.getLogLevel = function(level) {
|
||||
return this.level;
|
||||
}
|
||||
|
||||
Log4Node.prototype.write = function(msg) {
|
||||
if (this.parent) {
|
||||
this.parent.write(msg);
|
||||
}
|
||||
else {
|
||||
this.stream.write(msg + '\n');
|
||||
}
|
||||
}
|
||||
|
||||
Log4Node.prototype.log = function(level, args) {
|
||||
if (levels[level] <= this.level) {
|
||||
var i = 1;
|
||||
var msg = computePrefix(this.prefix, level);
|
||||
msg += util.format.apply(this, args);
|
||||
if (cluster.isMaster) {
|
||||
this.write(msg);
|
||||
}
|
||||
else {
|
||||
// do no try to send a message to master if disconnected
|
||||
// because in this case node will emit an error event
|
||||
if (process.connected) {
|
||||
process.send({log: msg, logger_id: this.id});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// exports
|
||||
exports.Log4Node = Log4Node;
|
||||
|
||||
Object.keys(levels).forEach(function(level) {
|
||||
// Log4Node.INFO|DEBUG..
|
||||
exports[level.toUpperCase()] = levels[level];
|
||||
|
||||
// Log4Node.prototype.info|debug..
|
||||
Log4Node.prototype[level] = function() {
|
||||
this.log(level, arguments);
|
||||
}
|
||||
});
|
||||
|
||||
// set easy defaultLogger
|
||||
// allows require('Log4Node').info('')|debug('')..
|
||||
var defaultLogger = new Log4Node();
|
||||
|
||||
Object.keys(Log4Node.prototype).forEach(function(method) {
|
||||
exports[method] = function() {
|
||||
return defaultLogger[method].apply(defaultLogger, arguments);
|
||||
}
|
||||
});
|
||||
|
||||
exports.reconfigure = function(config) {
|
||||
return defaultLogger = new Log4Node(config);
|
||||
}
|
13
node_modules/log4node/license.txt
generated
vendored
Normal file
13
node_modules/log4node/license.txt
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
Copyright 2012 Bertrand Paquet
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
45
node_modules/log4node/package.json
generated
vendored
Normal file
45
node_modules/log4node/package.json
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "log4node",
|
||||
"description": "Logger for node cluster, compatible with logrotate",
|
||||
"version": "0.1.2",
|
||||
"author": {
|
||||
"name": "Bertrand Paquet",
|
||||
"email": "bertrand.paquet@gmail.com"
|
||||
},
|
||||
"keywords": [
|
||||
"log",
|
||||
"logger",
|
||||
"cluster",
|
||||
"logrotate"
|
||||
],
|
||||
"main": "./lib/log4node.js",
|
||||
"homepage": "https://github.com/bpaquet/log4node",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/bpaquet/log4node.git"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "Apache2",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0"
|
||||
}
|
||||
],
|
||||
"devDependencies": {
|
||||
"vows": "0.6.x",
|
||||
"whereis": "0.0.2"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "./test-runner.sh"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
},
|
||||
"readme": "# Overview\n\nThis module is designed to be used with Node Cluster in production:\n* one log file for all workers\n* compatible with logrotate: an USR2 signal reopen the log file\n\nThis module is compatible with node 0.8.x. For the node 0.6.x, please use version 0.0.1 of this module.\n\nThis module is inspired from [this module](https://github.com/visionmedia/log.js).\n\n# How to use it\n\n## Installation\n\n npm install log4node\n\n## Usage\n\nDefault logger:\n```js\nvar log = require('log4node');\n\nlog.error(\"this is a log\");\n```\nWill output to console.\n\nNote: you can reconfigure default logger by calling\n\n log.reconfigure({level: 'info', file: 'toto.log'});\n\nWill now write into `toto.log`\n\nYour custom logger:\n```js\nvar log4node = require('log4node');\n log = new log4node.Log4Node({level: 'warning', file: 'test.log'});\n\nlog.error(\"this is a log\");\nlog.debug(\"this is a debug log\");\n```\n\nNote : you can use the syntax accepted by [`utils.format`](http://nodejs.org/api/util.html#util_util_format_format).\n\n## Log level\n\nLog level can be adjusted for each logger:\n\n log.setLogLevel('info');\n\nLog level for default logger is 'info'.\n\nAvailable log levels are:\n\n* emergency\n* alert\n* critical\n* error\n* warning\n* notice\n* info\n* debug\n\n## Prefix\n\nPrefix of log lines can be changed:\n\n```js\nlog.setPrefix(\"%d - %p \");\n```\n\nYou can use following field in prefix:\n* `%d`: current date\n* `%p`: current process id\n* `%l`: log level\n\nDefault prefix is: `[%d] %l `\n\n## Cluster mode\n\nWorkers processes will send logs to the cluster master for writing to file.\n\nSetup is fully transparent for developper.\n\nA full example can be found [here](https://github.com/bpaquet/log4node/blob/master/test/cluster/test1.js).\n\n## Reopen log file\n\nJust send USR2 signal to node process, or, in cluster mode, to master node process:\n\n kill -USR2 pid\n\nExample of logrotate file:\n\n /var/log/node.log {\n rotate 5\n weekly\n postrotate\n kill -USR2 `cat process.pid`\n endscript\n }\n\n## Create a specialized logger\nThis feature is provided to specialize a logger for a sub-component.\nYou can create a new logger with its own level and prefix for a sub-component.\nThe logs will be send to the same files with a prefix.\n\n```js\nlog = new log4node.Log4Node('warning', 'test.log');\nsublogger1 = log.clone({prefix:'SUBMODULE - ', level:'error');\n```\n\nor with the default logger\n\n```js\nsublogger1 = log4node.clone(prefix:'SUBMODULE - ', level:'error');\n```\n\n# License\n\nCopyright 2012 Bertrand Paquet\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
||||
"readmeFilename": "Readme.markdown",
|
||||
"_id": "log4node@0.1.2",
|
||||
"dist": {
|
||||
"shasum": "5648004b539af4738cd96c868eaa1f127d874819"
|
||||
},
|
||||
"_from": "log4node@",
|
||||
"_resolved": "https://registry.npmjs.org/log4node/-/log4node-0.1.2.tgz"
|
||||
}
|
15
node_modules/log4node/test-runner.sh
generated
vendored
Executable file
15
node_modules/log4node/test-runner.sh
generated
vendored
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
cd test
|
||||
|
||||
if [ "$TEST" = "" ]; then
|
||||
TEST=`ls test*.js`
|
||||
fi
|
||||
|
||||
for test in $TEST; do
|
||||
echo "Launching test : $test"
|
||||
NODE_PATH=../lib vows $test --spec
|
||||
echo ""
|
||||
done
|
4
node_modules/log4node/test/cluster-logger-after-fork/output1
generated
vendored
Normal file
4
node_modules/log4node/test/cluster-logger-after-fork/output1
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
16
node_modules/log4node/test/cluster-logger-after-fork/test1.js
generated
vendored
Normal file
16
node_modules/log4node/test/cluster-logger-after-fork/test1.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
var cluster = require('cluster'),
|
||||
log4node = require('log4node');
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
var log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
} else {
|
||||
var log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
log.setPrefix("%l %p : ");
|
||||
log.error("Hello, I'm a worker");
|
||||
setTimeout(function() {
|
||||
process.exit();
|
||||
}, 100);
|
||||
}
|
7
node_modules/log4node/test/cluster-logrotate/logrotate.conf
generated
vendored
Normal file
7
node_modules/log4node/test/cluster-logrotate/logrotate.conf
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
"test.log" {
|
||||
rotate 5
|
||||
weekly
|
||||
postrotate
|
||||
kill -USR2 `cat process.pid`
|
||||
endscript
|
||||
}
|
5
node_modules/log4node/test/cluster-logrotate/output1
generated
vendored
Normal file
5
node_modules/log4node/test/cluster-logrotate/output1
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
ERROR \d+ : Master started
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
4
node_modules/log4node/test/cluster-logrotate/output2
generated
vendored
Normal file
4
node_modules/log4node/test/cluster-logrotate/output2
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
22
node_modules/log4node/test/cluster-logrotate/test1.js
generated
vendored
Normal file
22
node_modules/log4node/test/cluster-logrotate/test1.js
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
var cluster = require('cluster'),
|
||||
log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("%l %p : ");
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
log.error("Master started");
|
||||
|
||||
cluster.on('exit', function(worker) {
|
||||
log.error('Worker ' + worker.process.pid + ' died');
|
||||
});
|
||||
} else {
|
||||
log.error("Hello, I'm a worker");
|
||||
setTimeout(function() {
|
||||
process.exit();
|
||||
}, 2000);
|
||||
}
|
9
node_modules/log4node/test/cluster-stdout-sig/output1
generated
vendored
Normal file
9
node_modules/log4node/test/cluster-stdout-sig/output1
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
ERROR \d+ : Master started
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
22
node_modules/log4node/test/cluster-stdout-sig/test1.js
generated
vendored
Normal file
22
node_modules/log4node/test/cluster-stdout-sig/test1.js
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
var cluster = require('cluster'),
|
||||
log = require('log4node');
|
||||
|
||||
log.setPrefix("%l %p : ");
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
log.error("Master started");
|
||||
|
||||
cluster.on('exit', function(worker) {
|
||||
log.error('Worker ' + worker.process.pid + ' died');
|
||||
});
|
||||
|
||||
} else {
|
||||
log.error("Hello, I'm a worker");
|
||||
setTimeout(function() {
|
||||
process.exit();
|
||||
}, 100);
|
||||
}
|
7
node_modules/log4node/test/cluster-sub-logger-logrotate/logrotate.conf
generated
vendored
Normal file
7
node_modules/log4node/test/cluster-sub-logger-logrotate/logrotate.conf
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
"test.log" {
|
||||
rotate 5
|
||||
weekly
|
||||
postrotate
|
||||
kill -USR2 `cat process.pid`
|
||||
endscript
|
||||
}
|
5
node_modules/log4node/test/cluster-sub-logger-logrotate/output1
generated
vendored
Normal file
5
node_modules/log4node/test/cluster-sub-logger-logrotate/output1
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
ERROR \d+ : Master started
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
4
node_modules/log4node/test/cluster-sub-logger-logrotate/output2
generated
vendored
Normal file
4
node_modules/log4node/test/cluster-sub-logger-logrotate/output2
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
24
node_modules/log4node/test/cluster-sub-logger-logrotate/test1.js
generated
vendored
Normal file
24
node_modules/log4node/test/cluster-sub-logger-logrotate/test1.js
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
var cluster = require('cluster'),
|
||||
log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("%l %p : ");
|
||||
|
||||
var sublog = log.clone();
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
sublog.error("Master started");
|
||||
|
||||
cluster.on('exit', function(worker) {
|
||||
sublog.error('Worker ' + worker.process.pid + ' died');
|
||||
});
|
||||
} else {
|
||||
sublog.error("Hello, I'm a worker");
|
||||
setTimeout(function() {
|
||||
process.exit();
|
||||
}, 2000);
|
||||
}
|
9
node_modules/log4node/test/cluster-sub-logger/output1
generated
vendored
Normal file
9
node_modules/log4node/test/cluster-sub-logger/output1
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
ERROR \d+ : Master started
|
||||
ERROR \d+ : WORKER - Hello, I'm a worker
|
||||
ERROR \d+ : WORKER - Hello, I'm a worker
|
||||
ERROR \d+ : WORKER - Hello, I'm a worker
|
||||
ERROR \d+ : WORKER - Hello, I'm a worker
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
25
node_modules/log4node/test/cluster-sub-logger/test1.js
generated
vendored
Normal file
25
node_modules/log4node/test/cluster-sub-logger/test1.js
generated
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
var cluster = require('cluster'),
|
||||
log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({prefix:'warning', file:'test.log'});
|
||||
|
||||
log.setPrefix("%l %p : ");
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
log.error("Master started");
|
||||
|
||||
cluster.on('exit', function(worker) {
|
||||
log.error('Worker ' + worker.process.pid + ' died');
|
||||
});
|
||||
|
||||
} else {
|
||||
var workerLog = log.clone({prefix: "WORKER - "});
|
||||
|
||||
workerLog.error("Hello, I'm a worker");
|
||||
setTimeout(function() {
|
||||
process.exit();
|
||||
}, 100);
|
||||
}
|
9
node_modules/log4node/test/cluster/output1
generated
vendored
Normal file
9
node_modules/log4node/test/cluster/output1
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
ERROR \d+ : Master started
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Hello, I'm a worker
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
||||
ERROR \d+ : Worker \d+ died
|
23
node_modules/log4node/test/cluster/test1.js
generated
vendored
Normal file
23
node_modules/log4node/test/cluster/test1.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
var cluster = require('cluster'),
|
||||
log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("%l %p : ");
|
||||
|
||||
if (cluster.isMaster) {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
|
||||
log.error("Master started");
|
||||
|
||||
cluster.on('exit', function(worker) {
|
||||
log.error('Worker ' + worker.process.pid + ' died');
|
||||
});
|
||||
|
||||
} else {
|
||||
log.error("Hello, I'm a worker");
|
||||
setTimeout(function() {
|
||||
process.exit();
|
||||
}, 100);
|
||||
}
|
123
node_modules/log4node/test/helper.js
generated
vendored
Normal file
123
node_modules/log4node/test/helper.js
generated
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
var fs = require('fs'),
|
||||
vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
spawn = require('child_process').spawn,
|
||||
whereis = require('whereis');
|
||||
|
||||
function launch(command, args, pid_file, callback) {
|
||||
var child = spawn(command, args);
|
||||
var stdout = '';
|
||||
|
||||
if (pid_file) {
|
||||
fs.writeFile(pid_file, child.pid, function(err) {
|
||||
if (err) {
|
||||
return console.warn(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
child.stdout.on('data', function (data) {
|
||||
console.log('child stdout [' + command + ']: ' + data);
|
||||
stdout += data;
|
||||
});
|
||||
|
||||
child.stderr.on('data', function (data) {
|
||||
console.log('child stderr [' + command + ']: ' + data);
|
||||
});
|
||||
|
||||
child.on('exit', function(code) {
|
||||
callback(code, stdout)
|
||||
});
|
||||
};
|
||||
|
||||
function remove_test_files() {
|
||||
fs.readdirSync('.').forEach(function(i) {
|
||||
if (i.match(/^test.log.*$/) || i.match(/^process.*/)) {
|
||||
fs.unlinkSync(i);
|
||||
}
|
||||
});
|
||||
if (fs.existsSync('/tmp/s')) {
|
||||
fs.unlinkSync('/tmp/s');
|
||||
}
|
||||
}
|
||||
|
||||
function check_content(content, file) {
|
||||
regexp = fs.readFileSync(file, 'utf-8');
|
||||
if (!content.match(new RegExp("^" + regexp + "$"))) {
|
||||
console.log("Content");
|
||||
console.log(content);
|
||||
console.log("Regexp");
|
||||
console.log(regexp);
|
||||
assert.fail("File not match");
|
||||
}
|
||||
}
|
||||
|
||||
function check_file(file, target_file) {
|
||||
target_file = target_file || 'test.log';
|
||||
content = fs.readFileSync(target_file, 'utf-8');
|
||||
check_content(content, file);
|
||||
}
|
||||
|
||||
function check_file_content(file, expected_content) {
|
||||
content = fs.readFileSync(file, 'utf-8');
|
||||
assert.equal(content, expected_content);
|
||||
}
|
||||
|
||||
function create_test(name, file_to_launch, final_file, topic_callback, check_callback, test_callback) {
|
||||
test_name = file_to_launch.match(/\/([^\/]+)\.js$/)[1]
|
||||
test = {}
|
||||
test[test_name] = {
|
||||
topic: function () {
|
||||
remove_test_files();
|
||||
test_callback = test_callback || function(f, callback) {
|
||||
launch('node', [f], 'process.pid', function(code, stdout) {
|
||||
callback(null, code, stdout);
|
||||
});
|
||||
if (topic_callback) {
|
||||
topic_callback();
|
||||
}
|
||||
};
|
||||
test_callback(file_to_launch, this.callback);
|
||||
},
|
||||
|
||||
'check_code': function(code) {
|
||||
assert.equal(code, 0);
|
||||
},
|
||||
|
||||
'check content': function () {
|
||||
if (final_file) {
|
||||
check_file(final_file);
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
if (check_callback) {
|
||||
test[test_name]['specific_check'] = function(err, code, stdout) {
|
||||
check_callback(stdout);
|
||||
}
|
||||
}
|
||||
test[test_name]['remove test files'] = function() {
|
||||
remove_test_files();
|
||||
}
|
||||
return vows.describe(name).addBatch(test);
|
||||
}
|
||||
|
||||
function logrotate(callback) {
|
||||
whereis('logrotate', function(err, res) {
|
||||
if(err) {
|
||||
console.log("You must have logrotate in your path to run all tests.");
|
||||
return process.exit(1);
|
||||
}
|
||||
callback(res);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
launch: launch,
|
||||
remove_test_files: remove_test_files,
|
||||
check_file: check_file,
|
||||
check_content: check_content,
|
||||
check_file_content: check_file_content,
|
||||
create_test: create_test,
|
||||
logrotate: logrotate,
|
||||
};
|
7
node_modules/log4node/test/multiple-appender/logrotate.conf
generated
vendored
Normal file
7
node_modules/log4node/test/multiple-appender/logrotate.conf
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
"test.log" {
|
||||
rotate 5
|
||||
weekly
|
||||
postrotate
|
||||
kill -USR2 `cat process1.pid` && kill -USR2 `cat process2.pid`
|
||||
endscript
|
||||
}
|
2
node_modules/log4node/test/multiple-appender/output1
generated
vendored
Normal file
2
node_modules/log4node/test/multiple-appender/output1
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
p1 titi1
|
||||
p2 titi1
|
2
node_modules/log4node/test/multiple-appender/output2
generated
vendored
Normal file
2
node_modules/log4node/test/multiple-appender/output2
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
p1 titi2
|
||||
p2 titi2
|
10
node_modules/log4node/test/multiple-appender/test1.js
generated
vendored
Normal file
10
node_modules/log4node/test/multiple-appender/test1.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
var log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix(process.argv[2] + " ");
|
||||
|
||||
log.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
log.warning("titi2")
|
||||
}, 500);
|
1
node_modules/log4node/test/no-cluster-append/output1
generated
vendored
Normal file
1
node_modules/log4node/test/no-cluster-append/output1
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
WARNING - titi1
|
2
node_modules/log4node/test/no-cluster-append/output2
generated
vendored
Normal file
2
node_modules/log4node/test/no-cluster-append/output2
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
WARNING - titi1
|
||||
WARNING - titi1
|
7
node_modules/log4node/test/no-cluster-append/test1.js
generated
vendored
Normal file
7
node_modules/log4node/test/no-cluster-append/test1.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
var log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("%l - ");
|
||||
|
||||
log.warning("titi1");
|
||||
|
7
node_modules/log4node/test/no-cluster-logrotate/logrotate.conf
generated
vendored
Normal file
7
node_modules/log4node/test/no-cluster-logrotate/logrotate.conf
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
"test.log" {
|
||||
rotate 5
|
||||
weekly
|
||||
postrotate
|
||||
kill -USR2 `cat process.pid`
|
||||
endscript
|
||||
}
|
1
node_modules/log4node/test/no-cluster-logrotate/output1
generated
vendored
Normal file
1
node_modules/log4node/test/no-cluster-logrotate/output1
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
\[WARNING - toto\] titi1
|
1
node_modules/log4node/test/no-cluster-logrotate/output2
generated
vendored
Normal file
1
node_modules/log4node/test/no-cluster-logrotate/output2
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
\[ERROR - toto\] titi2
|
12
node_modules/log4node/test/no-cluster-logrotate/test1.js
generated
vendored
Normal file
12
node_modules/log4node/test/no-cluster-logrotate/test1.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("[%l - toto] ");
|
||||
|
||||
log.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
log.error("titi2")
|
||||
}, 2000);
|
||||
|
||||
|
1
node_modules/log4node/test/no-cluster-sig/output1
generated
vendored
Normal file
1
node_modules/log4node/test/no-cluster-sig/output1
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
\[WARNING - toto\] titi1
|
2
node_modules/log4node/test/no-cluster-sig/output2
generated
vendored
Normal file
2
node_modules/log4node/test/no-cluster-sig/output2
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
\[WARNING - toto\] titi1
|
||||
\[ERROR - toto\] titi2
|
12
node_modules/log4node/test/no-cluster-sig/test1.js
generated
vendored
Normal file
12
node_modules/log4node/test/no-cluster-sig/test1.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("[%l - toto] ");
|
||||
|
||||
log.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
log.error("titi2")
|
||||
}, 2000);
|
||||
|
||||
|
2
node_modules/log4node/test/no-cluster-stdout-sig/output1
generated
vendored
Normal file
2
node_modules/log4node/test/no-cluster-stdout-sig/output1
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
\[WARNING - toto\] titi1
|
||||
\[ERROR - toto\] titi2
|
11
node_modules/log4node/test/no-cluster-stdout-sig/test1.js
generated
vendored
Normal file
11
node_modules/log4node/test/no-cluster-stdout-sig/test1.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
var log4node = require('log4node');
|
||||
|
||||
log4node.setPrefix("[%l - toto] ");
|
||||
|
||||
log4node.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
log4node.error("titi2")
|
||||
}, 2000);
|
||||
|
||||
|
2
node_modules/log4node/test/no-cluster/output1
generated
vendored
Normal file
2
node_modules/log4node/test/no-cluster/output1
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
\[WARNING - toto\] titi1
|
||||
\[WARNING - toto\] titi3
|
3
node_modules/log4node/test/no-cluster/output2
generated
vendored
Normal file
3
node_modules/log4node/test/no-cluster/output2
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
\[WARNING - toto\] titi1
|
||||
\[WARNING - toto\] titi3
|
||||
\[ERROR - toto\] titi2
|
13
node_modules/log4node/test/no-cluster/test1.js
generated
vendored
Normal file
13
node_modules/log4node/test/no-cluster/test1.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
var log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("[%l - toto] ");
|
||||
|
||||
log.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
log.error("titi2")
|
||||
}, 500);
|
||||
|
||||
log.warning("titi3");
|
||||
|
2
node_modules/log4node/test/sub-logger-default/output1
generated
vendored
Normal file
2
node_modules/log4node/test/sub-logger-default/output1
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
WARNING \d+ : SUB1 - titi1
|
||||
WARNING \d+ : SUB1 - titi4
|
3
node_modules/log4node/test/sub-logger-default/output2
generated
vendored
Normal file
3
node_modules/log4node/test/sub-logger-default/output2
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
WARNING \d+ : SUB1 - titi1
|
||||
WARNING \d+ : SUB1 - titi4
|
||||
CRITICAL \d+ : SUB2 - titi2
|
15
node_modules/log4node/test/sub-logger-default/test1.js
generated
vendored
Normal file
15
node_modules/log4node/test/sub-logger-default/test1.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
var log = require('log4node');
|
||||
|
||||
log.reconfigure({level: 'warning', file: 'test.log', prefix: "%l %p : "});
|
||||
|
||||
var sublogger1 = log.clone({prefix: "SUB1 - "});
|
||||
var sublogger2 = log.clone({prefix: "SUB2 - ", level: 'error'});
|
||||
|
||||
sublogger1.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
sublogger2.critical("titi2");
|
||||
sublogger2.warning("titi3");
|
||||
}, 500);
|
||||
|
||||
sublogger1.warning("titi4");
|
2
node_modules/log4node/test/sub-logger/output1
generated
vendored
Normal file
2
node_modules/log4node/test/sub-logger/output1
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
WARNING \d+ : SUB1 - titi1
|
||||
WARNING \d+ : SUB1 - titi4
|
3
node_modules/log4node/test/sub-logger/output2
generated
vendored
Normal file
3
node_modules/log4node/test/sub-logger/output2
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
WARNING \d+ : SUB1 - titi1
|
||||
WARNING \d+ : SUB1 - titi4
|
||||
CRITICAL \d+ : SUB2 - titi2
|
16
node_modules/log4node/test/sub-logger/test1.js
generated
vendored
Normal file
16
node_modules/log4node/test/sub-logger/test1.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
var log4node = require('log4node'),
|
||||
log = new log4node.Log4Node({level: 'warning', file: 'test.log'});
|
||||
|
||||
log.setPrefix("%l %p : ");
|
||||
|
||||
var sublogger1 = log.clone({prefix: "SUB1 - "});
|
||||
var sublogger2 = log.clone({prefix: "SUB2 - ", level: 'error'});
|
||||
|
||||
sublogger1.warning("titi1");
|
||||
|
||||
setTimeout(function() {
|
||||
sublogger2.critical("titi2");
|
||||
sublogger2.warning("titi3");
|
||||
}, 500);
|
||||
|
||||
sublogger1.warning("titi4");
|
3
node_modules/log4node/test/test-cluster-logger-after-fork.js
generated
vendored
Normal file
3
node_modules/log4node/test/test-cluster-logger-after-fork.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('cluster-logger-after-fork', 'cluster-logger-after-fork/test1.js', 'cluster-logger-after-fork/output1').export(module);
|
12
node_modules/log4node/test/test-cluster-logrotate.js
generated
vendored
Normal file
12
node_modules/log4node/test/test-cluster-logrotate.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('cluster-logrotate', 'cluster-logrotate/test1.js', 'cluster-logrotate/output2', function() {
|
||||
helper.logrotate(function(logrotate) {
|
||||
setTimeout(function() {
|
||||
helper.check_file("cluster-logrotate/output1");
|
||||
helper.launch(logrotate, ['-f', 'cluster-logrotate/logrotate.conf', '-s', '/tmp/s'], null, function(code) {});
|
||||
}, 500);
|
||||
});
|
||||
}, function() {
|
||||
helper.check_file("cluster-logrotate/output1", "test.log.1");
|
||||
}).export(module);
|
14
node_modules/log4node/test/test-cluster-stdout-sig.js
generated
vendored
Normal file
14
node_modules/log4node/test/test-cluster-stdout-sig.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
var helper = require('./helper.js'),
|
||||
fs = require('fs');
|
||||
|
||||
helper.create_test('cluster-stdout-sig', 'cluster-stdout-sig/test1.js', null, function() {
|
||||
helper.logrotate(function(logrotate) {
|
||||
setTimeout(function() {
|
||||
helper.launch("kill", ['-USR2', fs.readFileSync('process.pid')], null, function(code) {
|
||||
assert.equal(code, 0);
|
||||
});
|
||||
}, 500);
|
||||
});
|
||||
}, function(stdout) {
|
||||
helper.check_content(stdout, 'cluster-stdout-sig/output1');
|
||||
}).export(module);
|
12
node_modules/log4node/test/test-cluster-sub-logger-logrotate.js
generated
vendored
Normal file
12
node_modules/log4node/test/test-cluster-sub-logger-logrotate.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('cluster-sub-logger-logrotate', 'cluster-sub-logger-logrotate/test1.js', 'cluster-sub-logger-logrotate/output2', function() {
|
||||
helper.logrotate(function(logrotate) {
|
||||
setTimeout(function() {
|
||||
helper.check_file("cluster-sub-logger-logrotate/output1");
|
||||
helper.launch(logrotate, ['-f', 'cluster-sub-logger-logrotate/logrotate.conf', '-s', '/tmp/s'], null, function(code) {});
|
||||
}, 500);
|
||||
});
|
||||
}, function() {
|
||||
helper.check_file("cluster-sub-logger-logrotate/output1", "test.log.1");
|
||||
}).export(module);
|
3
node_modules/log4node/test/test-cluster-sub-logger.js
generated
vendored
Normal file
3
node_modules/log4node/test/test-cluster-sub-logger.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('cluster', 'cluster-sub-logger/test1.js', 'cluster-sub-logger/output1', function() {}).export(module);
|
15
node_modules/log4node/test/test-cluster.js
generated
vendored
Normal file
15
node_modules/log4node/test/test-cluster.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('cluster-logrotate', 'cluster-logrotate/test1.js', 'cluster-logrotate/output2', function() {
|
||||
helper.logrotate(function(logrotate) {
|
||||
setTimeout(function() {
|
||||
helper.check_file("cluster-logrotate/output1");
|
||||
helper.launch(logrotate, ['-f', 'cluster-logrotate/logrotate.conf', '-s', '/tmp/s'], null, function(code) {});
|
||||
}, 500);
|
||||
});
|
||||
}, function() {
|
||||
helper.check_file("cluster-logrotate/output1", "test.log.1");
|
||||
}).export(module);
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('cluster', 'cluster/test1.js', 'cluster/output1', function() {}).export(module);
|
29
node_modules/log4node/test/test-multiple-appender.js
generated
vendored
Normal file
29
node_modules/log4node/test/test-multiple-appender.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
var helper = require('./helper.js'),
|
||||
assert = require('assert');
|
||||
|
||||
helper.create_test('multiple-appender', 'multiple-appender/test1.js', 'multiple-appender/output2', null, function() {
|
||||
helper.check_file('test.log.1', 'multiple-appender/output1');
|
||||
}, function(f, callback) {
|
||||
var process1_ok = false;
|
||||
var process2_ok = false;
|
||||
helper.launch('node', [f, 'p1'], 'process1.pid', function(code) {
|
||||
assert.equal(code, 0);
|
||||
process2_ok = true;
|
||||
});
|
||||
setTimeout(function() {
|
||||
helper.launch('node', [f, 'p2'], 'process2.pid', function(code) {
|
||||
assert.equal(code, 0);
|
||||
process1_ok = true;
|
||||
});
|
||||
}, 20);
|
||||
helper.logrotate(function(logrotate) {
|
||||
setTimeout(function() {
|
||||
helper.launch(logrotate, ['-f', 'multiple-appender/logrotate.conf', '-s', '/tmp/s'], null, function(code) {});
|
||||
}, 200);
|
||||
});
|
||||
setTimeout(function() {
|
||||
assert(process1_ok);
|
||||
assert(process2_ok);
|
||||
callback(undefined, 0);
|
||||
}, 1000);
|
||||
}).export(module);
|
12
node_modules/log4node/test/test-no-cluster-append.js
generated
vendored
Normal file
12
node_modules/log4node/test/test-no-cluster-append.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var helper = require('./helper.js'),
|
||||
assert = require('assert');
|
||||
|
||||
helper.create_test('no-cluster-append', 'no-cluster-append/test1.js', 'no-cluster-append/output2', null, null, function(f, callback) {
|
||||
helper.launch('node', [f], null, function(code) {
|
||||
assert.equal(code, 0);
|
||||
helper.check_file('no-cluster-append/output1');
|
||||
helper.launch('node', [f], null, function(code) {
|
||||
callback(null, code);
|
||||
});
|
||||
});
|
||||
}).export(module);
|
12
node_modules/log4node/test/test-no-cluster-logrotate.js
generated
vendored
Normal file
12
node_modules/log4node/test/test-no-cluster-logrotate.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('no-cluster-logrotate', 'no-cluster-logrotate/test1.js', 'no-cluster-logrotate/output2', function() {
|
||||
helper.logrotate(function(logrotate) {
|
||||
setTimeout(function() {
|
||||
helper.check_file("no-cluster-logrotate/output1");
|
||||
helper.launch(logrotate, ['-f', 'no-cluster-logrotate/logrotate.conf', '-s', '/tmp/s'], null, function(code) {});
|
||||
}, 200);
|
||||
});
|
||||
}, function() {
|
||||
helper.check_file("no-cluster-logrotate/output1", "test.log.1");
|
||||
}).export(module);
|
12
node_modules/log4node/test/test-no-cluster-sig.js
generated
vendored
Normal file
12
node_modules/log4node/test/test-no-cluster-sig.js
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
var helper = require('./helper.js'),
|
||||
assert = require('assert'),
|
||||
fs = require('fs');
|
||||
|
||||
helper.create_test('no-cluster-sig', 'no-cluster-sig/test1.js', 'no-cluster-sig/output2', function() {
|
||||
setTimeout(function() {
|
||||
helper.check_file("no-cluster-sig/output1");
|
||||
helper.launch("kill", ['-USR2', fs.readFileSync('process.pid')], null, function(code) {
|
||||
assert.equal(code, 0);
|
||||
});
|
||||
}, 200);
|
||||
}).export(module);
|
13
node_modules/log4node/test/test-no-cluster-stdout-sig.js
generated
vendored
Normal file
13
node_modules/log4node/test/test-no-cluster-stdout-sig.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
var helper = require('./helper.js'),
|
||||
assert = require('assert'),
|
||||
fs = require('fs');
|
||||
|
||||
helper.create_test('no-cluster-stdout-sig', 'no-cluster-stdout-sig/test1.js', null, function() {
|
||||
setTimeout(function() {
|
||||
helper.launch("kill", ['-USR2', fs.readFileSync('process.pid')], null, function(code) {
|
||||
assert.equal(code, 0);
|
||||
});
|
||||
}, 200);
|
||||
}, function(stdout) {
|
||||
helper.check_content(stdout, 'no-cluster-stdout-sig/output1');
|
||||
}).export(module);
|
7
node_modules/log4node/test/test-no-cluster.js
generated
vendored
Normal file
7
node_modules/log4node/test/test-no-cluster.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('no-cluster', 'no-cluster/test1.js', 'no-cluster/output2', function() {
|
||||
setTimeout(function() {
|
||||
helper.check_file("no-cluster/output1");
|
||||
}, 200);
|
||||
}).export(module);
|
33
node_modules/log4node/test/test-not-reopening-file.js
generated
vendored
Normal file
33
node_modules/log4node/test/test-not-reopening-file.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
var cluster = require('cluster'),
|
||||
vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
log4node = require('log4node');
|
||||
|
||||
vows.describe('Test not reopening file').addBatch({
|
||||
'is not called when a worker process is disconnected': {
|
||||
'topic': function() {
|
||||
// setup process as a worker process
|
||||
cluster.isMaster = false;
|
||||
var calls = 0;
|
||||
process.send = function(args) {
|
||||
calls ++;
|
||||
};
|
||||
|
||||
process.connected = true;
|
||||
|
||||
log4node.info('log me baby');
|
||||
log4node.info('log me baby 2 times');
|
||||
|
||||
// when disconnected (ie, master dies)
|
||||
process.connected = false;
|
||||
|
||||
log4node.info('log me baby');
|
||||
|
||||
return calls;
|
||||
},
|
||||
'check': function(calls) {
|
||||
assert.equal(calls, 2);
|
||||
}
|
||||
}
|
||||
}).export(module);
|
||||
|
33
node_modules/log4node/test/test-send-master.js
generated
vendored
Normal file
33
node_modules/log4node/test/test-send-master.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
var cluster = require('cluster'),
|
||||
vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
log4node = require('log4node');
|
||||
|
||||
vows.describe('Test process.send').addBatch({
|
||||
'is not called when a worker process is disconnected': {
|
||||
'topic': function() {
|
||||
// setup process as a worker process
|
||||
cluster.isMaster = false;
|
||||
var calls = 0;
|
||||
process.send = function(args) {
|
||||
calls ++;
|
||||
};
|
||||
|
||||
process.connected = true;
|
||||
|
||||
log4node.info('log me baby');
|
||||
log4node.info('log me baby 2 times');
|
||||
|
||||
// when disconnected (ie, master dies)
|
||||
process.connected = false;
|
||||
|
||||
log4node.info('log me baby');
|
||||
|
||||
return calls;
|
||||
},
|
||||
'check': function(calls) {
|
||||
assert.equal(calls, 2);
|
||||
}
|
||||
}
|
||||
}).export(module);
|
||||
|
30
node_modules/log4node/test/test-set-loglevel.js
generated
vendored
Normal file
30
node_modules/log4node/test/test-set-loglevel.js
generated
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
var helper = require('./helper.js'),
|
||||
vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
log4node = require('log4node');
|
||||
|
||||
vows.describe('Test ').addBatch({
|
||||
'set log level': {
|
||||
'topic': function() {
|
||||
var logger = new log4node.Log4Node({level: 'info', file: 'test.log'});
|
||||
logger.setPrefix('');
|
||||
|
||||
logger.debug('start_debug');
|
||||
logger.info('start');
|
||||
logger.setLogLevel('critical');
|
||||
logger.info('stop');
|
||||
logger.critical('stop_critical')
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null);
|
||||
}, 200);
|
||||
},
|
||||
'check': function(err) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', 'start\nstop_critical\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
}
|
||||
}).export(module);
|
||||
|
162
node_modules/log4node/test/test-set-prefix.js
generated
vendored
Normal file
162
node_modules/log4node/test/test-set-prefix.js
generated
vendored
Normal file
@ -0,0 +1,162 @@
|
||||
var helper = require('./helper.js'),
|
||||
vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
log4node = require('log4node'),
|
||||
util = require('util');
|
||||
|
||||
vows.describe('Test ').addBatch({
|
||||
'set string prefix': {
|
||||
topic: function() {
|
||||
var logger = new log4node.Log4Node({
|
||||
level: 'info',
|
||||
file: 'test.log',
|
||||
prefix: '%l '
|
||||
});
|
||||
|
||||
logger.info('start');
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null);
|
||||
}, 200);
|
||||
},
|
||||
|
||||
check: function(err) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', 'INFO start\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
},
|
||||
}).addBatch({
|
||||
'set string prefix inheritance': {
|
||||
topic: function() {
|
||||
var parent_logger = new log4node.Log4Node({
|
||||
level: 'info',
|
||||
file: 'test.log',
|
||||
prefix: '%l '
|
||||
});
|
||||
|
||||
var logger = new log4node.Log4Node({parent: parent_logger, prefix: 'sub '});
|
||||
|
||||
logger.info('start');
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null);
|
||||
}, 200);
|
||||
},
|
||||
|
||||
check: function(err) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', 'INFO sub start\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
},
|
||||
}).addBatch({
|
||||
'set string prefix inheritance with no prefix value': {
|
||||
topic: function() {
|
||||
var parent_logger = new log4node.Log4Node({
|
||||
level: 'info',
|
||||
file: 'test.log',
|
||||
prefix: '%l '
|
||||
});
|
||||
|
||||
var logger = new log4node.Log4Node({parent: parent_logger});
|
||||
|
||||
logger.info('start');
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null);
|
||||
}, 200);
|
||||
},
|
||||
|
||||
check: function(err) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', 'INFO start\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
},
|
||||
}).addBatch({
|
||||
'set function prefix': {
|
||||
topic: function() {
|
||||
var v = Math.random();
|
||||
var logger = new log4node.Log4Node({
|
||||
level: 'info',
|
||||
file: 'test.log',
|
||||
prefix: function(level) {
|
||||
return util.format('[ %d ] %s ', v, level.toUpperCase());
|
||||
}
|
||||
});
|
||||
|
||||
logger.info('start');
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null, v);
|
||||
}, 200);
|
||||
},
|
||||
|
||||
check: function(err, v) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', '[ ' + v + ' ] INFO start\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
},
|
||||
}).addBatch({
|
||||
'set function prefix inheritance default value': {
|
||||
topic: function() {
|
||||
var v = Math.random();
|
||||
var parent_logger = new log4node.Log4Node({
|
||||
level: 'info',
|
||||
file: 'test.log',
|
||||
prefix: function(level) {
|
||||
return util.format('[ %d ] %s ', v, level.toUpperCase());
|
||||
}
|
||||
});
|
||||
|
||||
var logger = new log4node.Log4Node({parent: parent_logger});
|
||||
|
||||
logger.info('start');
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null, v);
|
||||
}, 200);
|
||||
},
|
||||
|
||||
check: function(err, v) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', '[ ' + v + ' ] INFO start\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
},
|
||||
}).addBatch({
|
||||
'set function prefix inheritance with function': {
|
||||
topic: function() {
|
||||
var v = Math.random();
|
||||
var parent_logger = new log4node.Log4Node({
|
||||
level: 'info',
|
||||
file: 'test.log',
|
||||
prefix: function(level) {
|
||||
return util.format('[ %d ] %s ', v, level.toUpperCase());
|
||||
}
|
||||
});
|
||||
|
||||
var logger = new log4node.Log4Node({parent: parent_logger, prefix: function() {return 'tata ';}});
|
||||
|
||||
logger.info('start');
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null, v);
|
||||
}, 200);
|
||||
},
|
||||
|
||||
check: function(err, v) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', '[ ' + v + ' ] INFO tata start\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
},
|
||||
}).export(module);
|
28
node_modules/log4node/test/test-strange-params.js
generated
vendored
Normal file
28
node_modules/log4node/test/test-strange-params.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
var helper = require('./helper.js'),
|
||||
vows = require('vows'),
|
||||
assert = require('assert'),
|
||||
log4node = require('log4node');
|
||||
|
||||
vows.describe('Test strange params').addBatch({
|
||||
'when calling log.info': {
|
||||
'topic': function() {
|
||||
var logger = new log4node.Log4Node({level: 'info', file: 'test.log'});
|
||||
logger.setPrefix('');
|
||||
|
||||
logger.info('log me baby', 2, 5);
|
||||
logger.info(undefined);
|
||||
logger.info(null);
|
||||
|
||||
var callback = this.callback;
|
||||
setTimeout(function() {
|
||||
callback(null);
|
||||
}, 200);
|
||||
},
|
||||
'check': function(err) {
|
||||
assert.ifError(err);
|
||||
helper.check_file_content('test.log', 'log me baby 2 5\nundefined\nnull\n');
|
||||
helper.remove_test_files();
|
||||
}
|
||||
}
|
||||
}).export(module);
|
||||
|
9
node_modules/log4node/test/test-sub-logger-default.js
generated
vendored
Normal file
9
node_modules/log4node/test/test-sub-logger-default.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('sub-logger-default', 'sub-logger-default/test1.js', 'sub-logger-default/output2', function() {
|
||||
setTimeout(function() {
|
||||
helper.check_file("sub-logger-default/output1");
|
||||
}, 200);
|
||||
}).export(module);
|
||||
|
||||
|
9
node_modules/log4node/test/test-sub-logger.js
generated
vendored
Normal file
9
node_modules/log4node/test/test-sub-logger.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
var helper = require('./helper.js');
|
||||
|
||||
helper.create_test('sub-logger', 'sub-logger/test1.js', 'sub-logger/output2', function() {
|
||||
setTimeout(function() {
|
||||
helper.check_file("sub-logger/output1");
|
||||
}, 200);
|
||||
}).export(module);
|
||||
|
||||
|
Reference in New Issue
Block a user