mirror of
https://github.com/actions/setup-java.git
synced 2025-04-20 09:56:46 +00:00
Fix.
This commit is contained in:
parent
596a6da241
commit
c1a589c5b6
7078 changed files with 1882834 additions and 319 deletions
60
node_modules/bs-logger/CHANGELOG.md
generated
vendored
Normal file
60
node_modules/bs-logger/CHANGELOG.md
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
<a name="0.2.6"></a>
|
||||
## [0.2.6](https://github.com/huafu/bs-logger/compare/v0.2.5...v0.2.6) (2018-11-10)
|
||||
|
||||
|
||||
|
||||
<a name="0.2.5"></a>
|
||||
## [0.2.5](https://github.com/huafu/bs-logger/compare/v0.2.4...v0.2.5) (2018-09-04)
|
||||
|
||||
|
||||
|
||||
<a name="0.2.4"></a>
|
||||
## [0.2.4](https://github.com/huafu/bs-logger/compare/v0.2.3...v0.2.4) (2018-09-04)
|
||||
|
||||
|
||||
|
||||
<a name="0.2.3"></a>
|
||||
## [0.2.3](https://github.com/huafu/bs-logger/compare/v0.2.2...v0.2.3) (2018-08-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **formatter:** allow json formatter to serialize circular data ([103bac0](https://github.com/huafu/bs-logger/commit/103bac0))
|
||||
|
||||
|
||||
|
||||
<a name="0.2.2"></a>
|
||||
## [0.2.2](https://github.com/huafu/bs-logger/compare/v0.2.1...v0.2.2) (2018-08-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **testing:** adds LoggerMock to exported symbols ([134dab8](https://github.com/huafu/bs-logger/commit/134dab8))
|
||||
|
||||
|
||||
|
||||
<a name="0.2.1"></a>
|
||||
## [0.2.1](https://github.com/huafu/bs-logger/compare/v0.2.0...v0.2.1) (2018-08-31)
|
||||
|
||||
|
||||
|
||||
<a name="0.2.0"></a>
|
||||
# [0.2.0](https://github.com/huafu/bs-logger/compare/v0.1.1...v0.2.0) (2018-08-31)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **testing:** adds helpers for testing ([0e65a49](https://github.com/huafu/bs-logger/commit/0e65a49))
|
||||
|
||||
|
||||
|
||||
<a name="0.1.1"></a>
|
||||
## [0.1.1](https://github.com/huafu/bs-logger/compare/02d6fc7...v0.1.1) (2018-08-30)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* adds custom formatters ([02d6fc7](https://github.com/huafu/bs-logger/commit/02d6fc7))
|
||||
|
||||
|
||||
|
21
node_modules/bs-logger/LICENSE
generated
vendored
Normal file
21
node_modules/bs-logger/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 Huafu Gandon
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
319
node_modules/bs-logger/README.md
generated
vendored
Normal file
319
node_modules/bs-logger/README.md
generated
vendored
Normal file
|
@ -0,0 +1,319 @@
|
|||
<img align="right" src="icon.png"></img>
|
||||
|
||||
# B.S. Logger [](https://travis-ci.org/huafu/bs-logger) [](https://coveralls.io/github/huafu/bs-logger?branch=master) [](https://beerpay.io/huafu/bs-logger) [](https://beerpay.io/huafu/bs-logger?focus=wish)
|
||||
|
||||
**Opinionated bare simple logger for NodeJS (with TypeScript typings)**.
|
||||
|
||||
BSLogger has been created after being disapointed not finding a matching logger on the internet. Not that others aren't good, they just did not fit what I was looking for.
|
||||
|
||||
Here is what I was looking for (and tried to implemented in BSLogger):
|
||||
- light memory usage
|
||||
- easily extendable (see `child` method)
|
||||
- as few dependencies as possible
|
||||
- ability to define all targets in a string (so that `ENV` vars can be used)
|
||||
- when using file targets, not re-opening them
|
||||
- reasonable defautls:
|
||||
- logs warnings and above to `stderr`
|
||||
- logs JSON to files
|
||||
- no overhead if it's not going to log anywhere
|
||||
|
||||
## TL,DR:
|
||||
|
||||
Install:
|
||||
```sh
|
||||
npm install --save bs-logger
|
||||
# or
|
||||
yarn add bs-logger
|
||||
```
|
||||
Use:
|
||||
```js
|
||||
const { logger } = require('bs-logger');
|
||||
// or
|
||||
// import logger from 'bs-logger';
|
||||
// or
|
||||
// import { logger } from 'bs-logger';
|
||||
// as default exports the logger
|
||||
|
||||
logger('foo');
|
||||
logger.debug('bar');
|
||||
logger.warn({foo: 'bar'}, 'dummy', 'other'/*, ...*/);
|
||||
```
|
||||
|
||||
More complex example:
|
||||
```js
|
||||
// env MY_LOG_TARGETS="debug.log:trace,stderr:warn%json"
|
||||
import { createLogger } from 'bs-logger';
|
||||
const logger = createLogger({
|
||||
context: {namespace: 'http'},
|
||||
targets: process.env.MY_LOG_TARGETS,
|
||||
translate: (m) => {
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
m.context = { ...m.context, secret: null };
|
||||
}
|
||||
return m;
|
||||
},
|
||||
});
|
||||
// [...]
|
||||
logger.debug({secret: 'xyz'}, 'trying to login')
|
||||
// will log into debug.log `trying to login` with secret in the context except in prod
|
||||
|
||||
const login = logger.wrap(function login() {
|
||||
// your login code
|
||||
})
|
||||
// [...]
|
||||
login();
|
||||
// will log `calling login` with the arguments in context
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Creating a logger
|
||||
|
||||
#### Root logger
|
||||
|
||||
BSLogger exports a global logger lazyly created on first use, but it is advised to create your own using the `createLogger()` helper:
|
||||
|
||||
- If you are using it in a library wich is meant to be re-distributed:
|
||||
```js
|
||||
import { createLogger, LogContexts } 'bs-logger';
|
||||
const logger = createLogger({ [LogContexts.package]: 'my-pacakge' });
|
||||
```
|
||||
|
||||
- If you are using it in an application of your own:
|
||||
```js
|
||||
import { createLogger, LogContexts } 'bs-logger';
|
||||
const logger = createLogger({ [LogContexts.application]: 'my-app' });
|
||||
```
|
||||
|
||||
#### Child logger
|
||||
|
||||
Child loggers extends the context, targets and message translators from their parent. You create a child logger using the `child` method:
|
||||
|
||||
```js
|
||||
const childLogger = logger.child({ [LogContexts.namespace]: 'http' })
|
||||
// childLogger becomes a new logger
|
||||
```
|
||||
|
||||
### Logging
|
||||
|
||||
Any helper to log within BSLogger is a function which has the same signature as `console.log()`, and also accepts an **optional** first argument being the context. A context is any `object`, with some specific (but optional) properties which we'll see later.
|
||||
|
||||
```ts
|
||||
logMethod(message: string, ...args: any[]): void
|
||||
// or
|
||||
logMethod(context: LogContext, message: string, ...args: any[]): void
|
||||
```
|
||||
|
||||
#### Directly
|
||||
|
||||
You can log using any logger as a function directly (if the logger or its possible parent(s) has not been created with any log level in its context, no level will be attached):
|
||||
```js
|
||||
import { createLogger } from 'bs-logger'
|
||||
const logger = createLogger()
|
||||
// [...]
|
||||
logger('my message');
|
||||
```
|
||||
|
||||
#### Using level helpers
|
||||
|
||||
BSLogger is aware of 6 log levels (`trace`, `debug`, `info`, `warn`, `error` and `fatal`) but you can create your owns. A log level is basically a number. The higher it is, the more important will be the message. You can find log levels constants in `LogLevels` export:
|
||||
```js
|
||||
import { LogLevels } from 'bs-logger';
|
||||
|
||||
const traceLevelValue = LogLevels.trace;
|
||||
const debugLevelValue = LogLevels.debug;
|
||||
// etc.
|
||||
```
|
||||
|
||||
For each log level listed above, a logger will have a helper method to directly log using this level:
|
||||
```js
|
||||
import { createLogger } from 'bs-logger'
|
||||
const logger = createLogger()
|
||||
// [...]
|
||||
logger.trace('foo')
|
||||
logger.debug('bar')
|
||||
// etc.
|
||||
```
|
||||
|
||||
Those helpers are the equivalent to
|
||||
```js
|
||||
logger({ [LogContexts.logLevel]: level }, 'foo')
|
||||
```
|
||||
...except that they'll be replaced with an empty function on the first call if their level will not be handled by any target.
|
||||
|
||||
### Wrapping functions
|
||||
|
||||
Each logger has a `wrap` method which you can use to wrap a function. If there is no matching log target, the `wrap` method will simply return your function, else it'll wrap it in another function of same signature. The wrapper will, before calling your function, log a message with received arguments in the context.
|
||||
|
||||
```ts
|
||||
// With `F` being the type of your funciton:
|
||||
logger.wrap(func: F): F
|
||||
// or
|
||||
logger.wrap(message: string, func: F): F
|
||||
// or
|
||||
logger.wrap(context: LogContext, messages: string, func: F): F
|
||||
```
|
||||
|
||||
### Defining target(s)
|
||||
|
||||
Each root logger (created using `createLogger` helper) is attached to 0 or more "target". A target is responsible of writing a log entry somewhere. It is an object with the following properties:
|
||||
|
||||
- **minLevel** `string`: The minimum log level this target's strem writer will be called for
|
||||
- **stream** `{ write: (str: string) => void }`: An object with a write function (like node's `stream.Writable`) which will be used to write log entries
|
||||
- **format** `(msg: LogMessage) => string`: A formatter which will be used to transform a log entry (message object) into a string
|
||||
|
||||
#### Using targets
|
||||
|
||||
When using the global logger, or if no `targets` specified when creating a logger, calling log methods will output to STDERR anything which has log level higher or equal to `warn`. This can be modified as follow by defineing the `LOG_TARGETS` environment variable or passing the `targets` option to `createLogger`. The `targets` can be an array of `LogTarget` (see above) or a `string` defining a list of one or more targets separated by comma (`,`). A `string` target is composed as follow:
|
||||
- The file path, absolute or relative to CWD. It can also be the specials `stdout` or `stderr` strings (case insensitive). When giving a path to a file, if it ends with the plus sign (`+`) the log data will be appended to the file instead of re-creating the file for each run.
|
||||
- An optional minimum log level after a colon (`:`). It should be a `number` or the log level name (ie `trace`, `error`, ...).
|
||||
- An optional formatter name after a percent sign (`%`). There are 2 included formatter: `json` (used for files by default) and `simple` (used for `stdout` and `stderr` by default). See below to define your own.
|
||||
|
||||
Examples:
|
||||
- `debug.log%simple,stdout:fatal`
|
||||
- Log everything to `debug.log` file in CWD dir (re-creates the file for each run). Uses the `simple` formatter.
|
||||
- Log only messages with level >= `fatal` to the standard out.
|
||||
- `errors.log+:error,debug.log:15`
|
||||
- Log only messages with level >= `error` to `errors.log` file (without re-creating the file at each run).
|
||||
- Log only messages with level >= 15 to `debug.log` file (re-creates the file for each run).
|
||||
|
||||
#### Custom formatters
|
||||
|
||||
A custom formatter is a function that takes a `LogMessage` object and returns a `string`. It can be registered giving it a name using the `registerLogFormatter` helper:
|
||||
|
||||
```js
|
||||
import { registerLogFormatter, createLogger } from 'bs-logger';
|
||||
registerLogFormatter('foo', m => `${m.sequence} ${new Date(m.tim).toLocaleString()} ${m.message}`);
|
||||
const logger = createLogger({
|
||||
targets: 'stdout%foo', // specifying out formatter
|
||||
});
|
||||
```
|
||||
|
||||
### Testing
|
||||
|
||||
The whole `testing` namespace has useful helpers for using BSLogger while unit testing your product.
|
||||
|
||||
In your tests you would usually prefer not having any logging to happen, or you would like to check what has been logged but without actually logging it to any target.
|
||||
|
||||
The `testing` namespace holds all testing utilities:
|
||||
```js
|
||||
import { testing } from 'bs-logger'
|
||||
```
|
||||
|
||||
- If you use the root logger, here is how to disable its output:
|
||||
```js
|
||||
testing.setup()
|
||||
```
|
||||
and the `logger` (or `default`) export will become a `LoggerMock` instance (see below).
|
||||
|
||||
- If you create logger(s) using `createLogger`, when testing use the `testing.createLoggerMock` instead. It accepts the same first argument, with an extra second argument, optional, being the `LogTargetMock` to be used (see below).
|
||||
|
||||
#### LoggerMock
|
||||
|
||||
Loggers created using the `testing` namespace will have one and only one log target being a `LogTargetMock`, and that target will be set on the `target` extra property of the logger.
|
||||
|
||||
Here are the extra properties of `LogTargetMock` which you can then use for testing:
|
||||
|
||||
- **messages** `LogMessage[]`: all log message objects which would have normally be logged
|
||||
- **last** `LogMessage`: the last one being logged
|
||||
- **trace** `LogMessage[]`: all log message objects with `trace` level
|
||||
- **last** `LogMessage`: last one with `trace` level
|
||||
- **debug** `LogMessage[]`: all log message objects with `debug` level
|
||||
- **last** `LogMessage`: last one with `debug` level
|
||||
- ...
|
||||
- **lines** `string[]`: all formatted log message lines which would have normally be logged
|
||||
- **last** `string`: the last one being logged
|
||||
- **trace** `string[]`: all formatted log message lines with `trace` level
|
||||
- **last** `string`: last one with `trace` level
|
||||
- **debug** `string[]`: all formatted log message lines with `debug` level
|
||||
- **last** `string`: last one with `debug` level
|
||||
- ...
|
||||
- **clear** `() => void`: method to clear all log message objects and formatted lines
|
||||
- **filteredMessages** `(level: number | null, untilLevel?: number) => LogMessage[]`: method to filter log message objects
|
||||
- **filteredLins** `(level: number | null, untilLevel?: number) => string[]`: method to filter formatted log message lines
|
||||
|
||||
#### Example
|
||||
|
||||
Let's say you have a `logger.js` file in which you create the logger for your app:
|
||||
```js
|
||||
// file: logger.js
|
||||
import { testing, createLogger, LogContexts } from 'bs-logger';
|
||||
|
||||
const factory = process.env.TEST ? testing.createLoggerMock : createLogger;
|
||||
|
||||
export default factory({ [LogContexts.application]: 'foo' });
|
||||
```
|
||||
|
||||
In a test you could:
|
||||
```js
|
||||
import logger from './logger';
|
||||
// in `fetch(url)` you'd use the logger like `logger.debug({url}, 'GET')` when the request is actually made
|
||||
import fetch from './http';
|
||||
|
||||
test('it should cache request', () => {
|
||||
logger.target.clear();
|
||||
fetch('http://foo.bar/dummy.json');
|
||||
expect(logger.target.messages.length).toBe(1);
|
||||
fetch('http://foo.bar/dummy.json');
|
||||
expect(logger.target.messages.length).toBe(1);
|
||||
// you can also expect on the message:
|
||||
expect(logger.target.messages.last.message).toBe('GET')
|
||||
expect(logger.target.messages.last.context.url).toBe('http://foo.bar/dummy.json')
|
||||
// or (mock target formater prefix the message with `[level:xxx] ` when there is a level)
|
||||
expect(logger.target.lines.last).toBe('[level:20] GET')
|
||||
// or filtering with level:
|
||||
expect(logger.target.lines.debug.last).toBe('[level:20] GET')
|
||||
});
|
||||
```
|
||||
|
||||
## Installing
|
||||
|
||||
Add to your project with `npm`:
|
||||
|
||||
```bash
|
||||
npm install --save bs-logger
|
||||
```
|
||||
|
||||
or with `yarn`:
|
||||
|
||||
```bash
|
||||
yarn add bs-logger
|
||||
```
|
||||
|
||||
## Running the tests
|
||||
|
||||
You need to get a copy of the repository to run the tests:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/huafu/bs-logger.git
|
||||
cd bs-logger
|
||||
npm run test
|
||||
```
|
||||
|
||||
## Built With
|
||||
|
||||
* [TypeScript](https://www.typescriptlang.org/)
|
||||
* [ts-jest](https://github.com/kulshekhar/ts-jest)
|
||||
|
||||
## Contributing
|
||||
|
||||
Pull requests welcome!
|
||||
|
||||
## Versioning
|
||||
|
||||
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/huafu/bs-logger/tags).
|
||||
|
||||
## Authors
|
||||
|
||||
* **Huafu Gandon** - *Initial work* - [huafu](https://github.com/huafu)
|
||||
|
||||
See also the list of [contributors](https://github.com/huafu/bs-logger/contributors) who participated in this project.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
|
||||
|
||||
## Support on Beerpay
|
||||
Hey dude! Help me out for a couple of :beers:!
|
||||
|
||||
[](https://beerpay.io/huafu/bs-logger) [](https://beerpay.io/huafu/bs-logger?focus=wish)
|
8
node_modules/bs-logger/dist/index.d.ts
generated
vendored
Normal file
8
node_modules/bs-logger/dist/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
import { LogMethod, Logger, createLogger, lastSequenceNumber, resetSequence } from './logger';
|
||||
import { LogContext, LogContexts } from './logger/context';
|
||||
import { LogLevelName, LogLevels, logLevelNameFor, parseLogLevel } from './logger/level';
|
||||
import { LogMessage, LogMessageFormatter, LogMessageTranslator, registerLogFormatter, resetLogFormatters } from './logger/message';
|
||||
import { rootLogger, setup } from './logger/root';
|
||||
import { DEFAULT_LOG_TARGET, LogTarget, parseLogTargets } from './logger/target';
|
||||
import * as testing from './testing';
|
||||
export { rootLogger as default, rootLogger as logger, setup, createLogger, DEFAULT_LOG_TARGET, lastSequenceNumber, LogContext, LogContexts, Logger, LogLevelName, logLevelNameFor, LogLevels, LogMessage, LogMessageFormatter, LogMessageTranslator, LogMethod, LogTarget, parseLogLevel, parseLogTargets, registerLogFormatter, resetLogFormatters, resetSequence, testing, };
|
31
node_modules/bs-logger/dist/index.js
generated
vendored
Normal file
31
node_modules/bs-logger/dist/index.js
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
"use strict";
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||
result["default"] = mod;
|
||||
return result;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var logger_1 = require("./logger");
|
||||
exports.createLogger = logger_1.createLogger;
|
||||
exports.lastSequenceNumber = logger_1.lastSequenceNumber;
|
||||
exports.resetSequence = logger_1.resetSequence;
|
||||
var context_1 = require("./logger/context");
|
||||
exports.LogContexts = context_1.LogContexts;
|
||||
var level_1 = require("./logger/level");
|
||||
exports.LogLevels = level_1.LogLevels;
|
||||
exports.logLevelNameFor = level_1.logLevelNameFor;
|
||||
exports.parseLogLevel = level_1.parseLogLevel;
|
||||
var message_1 = require("./logger/message");
|
||||
exports.registerLogFormatter = message_1.registerLogFormatter;
|
||||
exports.resetLogFormatters = message_1.resetLogFormatters;
|
||||
var root_1 = require("./logger/root");
|
||||
exports.default = root_1.rootLogger;
|
||||
exports.logger = root_1.rootLogger;
|
||||
exports.setup = root_1.setup;
|
||||
var target_1 = require("./logger/target");
|
||||
exports.DEFAULT_LOG_TARGET = target_1.DEFAULT_LOG_TARGET;
|
||||
exports.parseLogTargets = target_1.parseLogTargets;
|
||||
var testing = __importStar(require("./testing"));
|
||||
exports.testing = testing;
|
16
node_modules/bs-logger/dist/logger/context.d.ts
generated
vendored
Normal file
16
node_modules/bs-logger/dist/logger/context.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
declare enum LogContexts {
|
||||
application = "application",
|
||||
hostname = "hostname",
|
||||
logLevel = "logLevel",
|
||||
namespace = "namespace",
|
||||
package = "package"
|
||||
}
|
||||
interface LogContext {
|
||||
[key: string]: any;
|
||||
[LogContexts.application]?: string;
|
||||
[LogContexts.hostname]?: string;
|
||||
[LogContexts.logLevel]?: number;
|
||||
[LogContexts.namespace]?: string;
|
||||
[LogContexts.package]?: string;
|
||||
}
|
||||
export { LogContext, LogContexts };
|
11
node_modules/bs-logger/dist/logger/context.js
generated
vendored
Normal file
11
node_modules/bs-logger/dist/logger/context.js
generated
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var LogContexts;
|
||||
(function (LogContexts) {
|
||||
LogContexts["application"] = "application";
|
||||
LogContexts["hostname"] = "hostname";
|
||||
LogContexts["logLevel"] = "logLevel";
|
||||
LogContexts["namespace"] = "namespace";
|
||||
LogContexts["package"] = "package";
|
||||
})(LogContexts || (LogContexts = {}));
|
||||
exports.LogContexts = LogContexts;
|
37
node_modules/bs-logger/dist/logger/index.d.ts
generated
vendored
Normal file
37
node_modules/bs-logger/dist/logger/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
import { LogContext } from './context';
|
||||
import { LogMessageTranslator } from './message';
|
||||
import { LogTarget } from './target';
|
||||
interface LogMethod {
|
||||
(message: string, ...args: any[]): void;
|
||||
(context: LogContext, message: string, ...args: any[]): void;
|
||||
isEmptyFunction?: boolean;
|
||||
}
|
||||
interface LogChildMethod {
|
||||
(context: LogContext): Logger;
|
||||
(translate: LogMessageTranslator): Logger;
|
||||
}
|
||||
interface LogWrapMethod {
|
||||
<F extends (...args: any[]) => any>(func: F): F;
|
||||
<F extends (...args: any[]) => any>(message: string, func: F): F;
|
||||
<F extends (...args: any[]) => any>(context: LogContext, message: string, func: F): F;
|
||||
<F extends (...args: any[]) => any>(level: number, message: string, func: F): F;
|
||||
}
|
||||
interface Logger extends LogMethod {
|
||||
trace: LogMethod;
|
||||
debug: LogMethod;
|
||||
info: LogMethod;
|
||||
warn: LogMethod;
|
||||
error: LogMethod;
|
||||
fatal: LogMethod;
|
||||
child: LogChildMethod;
|
||||
wrap: LogWrapMethod;
|
||||
}
|
||||
declare const resetSequence: (next?: number) => void;
|
||||
declare const lastSequenceNumber: () => number;
|
||||
interface CreateLoggerOptions {
|
||||
context?: LogContext;
|
||||
translate?: LogMessageTranslator;
|
||||
targets?: string | LogTarget[];
|
||||
}
|
||||
declare const createLogger: ({ context: baseContext, targets: logTargets, translate: logTranslator, }?: CreateLoggerOptions) => Logger;
|
||||
export { createLogger, lastSequenceNumber, Logger, LogMethod, resetSequence, CreateLoggerOptions };
|
164
node_modules/bs-logger/dist/logger/index.js
generated
vendored
Normal file
164
node_modules/bs-logger/dist/logger/index.js
generated
vendored
Normal file
|
@ -0,0 +1,164 @@
|
|||
"use strict";
|
||||
var __assign = (this && this.__assign) || function () {
|
||||
__assign = Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __spread = (this && this.__spread) || function () {
|
||||
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
||||
return ar;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var util_1 = require("util");
|
||||
var context_1 = require("./context");
|
||||
var level_1 = require("./level");
|
||||
var target_1 = require("./target");
|
||||
var lastSeqNumber = 0;
|
||||
var resetSequence = function (next) {
|
||||
if (next === void 0) { next = 1; }
|
||||
lastSeqNumber = next - 1;
|
||||
};
|
||||
exports.resetSequence = resetSequence;
|
||||
var lastSequenceNumber = function () { return lastSeqNumber; };
|
||||
exports.lastSequenceNumber = lastSequenceNumber;
|
||||
var createEmptyFunction = function () {
|
||||
return Object.defineProperty(function emptyFunction() { }, 'isEmptyFunction', { value: true });
|
||||
};
|
||||
var createEmptyLogger = function () {
|
||||
var log = createEmptyFunction();
|
||||
log.child = function () { return createEmptyLogger(); };
|
||||
log.wrap = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
return args.pop();
|
||||
};
|
||||
level_1.LogLevelNames.forEach(function (name) {
|
||||
log[name] = log;
|
||||
});
|
||||
return log;
|
||||
};
|
||||
var createLogger = function (_a) {
|
||||
var _b = _a === void 0 ? {} : _a, _c = _b.context, baseContext = _c === void 0 ? {} : _c, _d = _b.targets, logTargets = _d === void 0 ? target_1.DEFAULT_LOG_TARGET : _d, logTranslator = _b.translate;
|
||||
var targets = typeof logTargets === 'string' ? target_1.parseLogTargets(logTargets) : logTargets;
|
||||
if (targets.length === 0) {
|
||||
return createEmptyLogger();
|
||||
}
|
||||
var log = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
var time = Date.now();
|
||||
var sequence = ++lastSeqNumber;
|
||||
var context;
|
||||
if (typeof args[0] === 'string') {
|
||||
context = __assign({}, baseContext);
|
||||
}
|
||||
else {
|
||||
context = __assign({}, baseContext, args.shift());
|
||||
}
|
||||
var msg = args.shift();
|
||||
var logLevel = context[context_1.LogContexts.logLevel];
|
||||
var destTargets = logLevel == null ? targets : targets.filter(function (t) { return logLevel >= t.minLevel; });
|
||||
if (destTargets.length === 0) {
|
||||
return;
|
||||
}
|
||||
var message = util_1.format.apply(void 0, __spread([msg], args));
|
||||
var logMessage = {
|
||||
context: context,
|
||||
time: time,
|
||||
sequence: sequence,
|
||||
message: message,
|
||||
};
|
||||
if (logTranslator) {
|
||||
logMessage = logTranslator(logMessage);
|
||||
}
|
||||
destTargets.forEach(function (t) { return t.stream.write(t.format(logMessage) + "\n"); });
|
||||
};
|
||||
log.child = function (ctxOrTranslator) {
|
||||
var isTranslator = typeof ctxOrTranslator === 'function';
|
||||
var childContext = isTranslator ? __assign({}, baseContext) : __assign({}, baseContext, ctxOrTranslator);
|
||||
var translate;
|
||||
if (isTranslator) {
|
||||
if (logTranslator) {
|
||||
translate = function (msg) { return ctxOrTranslator(logTranslator(msg)); };
|
||||
}
|
||||
else {
|
||||
translate = ctxOrTranslator;
|
||||
}
|
||||
}
|
||||
else {
|
||||
translate = logTranslator;
|
||||
}
|
||||
return createLogger({ context: childContext, targets: targets, translate: translate });
|
||||
};
|
||||
log.wrap = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
var _a;
|
||||
var _b = __read(Array(3 - args.length).concat(args), 3), ctx = _b[0], msg = _b[1], func = _b[2];
|
||||
var context = typeof ctx === 'number' ? __assign({}, baseContext, (_a = {}, _a[context_1.LogContexts.logLevel] = ctx, _a)) : __assign({}, baseContext, ctx);
|
||||
var logLevel = context[context_1.LogContexts.logLevel];
|
||||
if (typeof logLevel === 'number' && targets.every(function (t) { return t.minLevel > logLevel; })) {
|
||||
return func;
|
||||
}
|
||||
var message = msg == null ? "calling " + (func.name || '[anonymous]') + "()" : msg;
|
||||
return function wrapped() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
log(__assign({ call: { args: args } }, context), message);
|
||||
return func.apply(this, args);
|
||||
};
|
||||
};
|
||||
level_1.LogLevelNames.forEach(function (name) {
|
||||
var _a;
|
||||
var level = level_1.LogLevels[name];
|
||||
var extraContext = (_a = {}, _a[context_1.LogContexts.logLevel] = level, _a);
|
||||
log[name] = function (ctxOrMsg) {
|
||||
var args = [];
|
||||
for (var _i = 1; _i < arguments.length; _i++) {
|
||||
args[_i - 1] = arguments[_i];
|
||||
}
|
||||
if (targets.length === 0 || targets.every(function (t) { return t.minLevel > level; })) {
|
||||
log[name] = createEmptyFunction();
|
||||
return;
|
||||
}
|
||||
if (typeof ctxOrMsg === 'string') {
|
||||
log.apply(void 0, __spread([extraContext, ctxOrMsg], args));
|
||||
}
|
||||
else {
|
||||
log.apply(void 0, __spread([__assign({}, ctxOrMsg, extraContext)], args));
|
||||
}
|
||||
};
|
||||
});
|
||||
return log;
|
||||
};
|
||||
exports.createLogger = createLogger;
|
25
node_modules/bs-logger/dist/logger/level.d.ts
generated
vendored
Normal file
25
node_modules/bs-logger/dist/logger/level.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
declare const LogLevels: {
|
||||
trace: number;
|
||||
debug: number;
|
||||
info: number;
|
||||
warn: number;
|
||||
error: number;
|
||||
fatal: number;
|
||||
readonly lower: number;
|
||||
readonly higher: number;
|
||||
};
|
||||
declare type LogLevelName = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
||||
declare const LogLevelNames: LogLevelName[];
|
||||
declare const LogLevelValues: number[];
|
||||
interface LogLevelsScaleEntry {
|
||||
range: {
|
||||
from: number;
|
||||
next: number;
|
||||
};
|
||||
name: string;
|
||||
test(level: number): boolean;
|
||||
}
|
||||
declare const LogLevelsScale: ReadonlyArray<LogLevelsScaleEntry>;
|
||||
declare const logLevelNameFor: (level?: number | undefined) => string;
|
||||
declare const parseLogLevel: (level: string | number) => number | undefined;
|
||||
export { logLevelNameFor, LogLevels, LogLevelNames, LogLevelValues, LogLevelsScale, parseLogLevel, LogLevelName };
|
62
node_modules/bs-logger/dist/logger/level.js
generated
vendored
Normal file
62
node_modules/bs-logger/dist/logger/level.js
generated
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var cache_getters_1 = require("../utils/cache-getters");
|
||||
var LogLevels = cache_getters_1.cacheGetters({
|
||||
trace: 10,
|
||||
debug: 20,
|
||||
info: 30,
|
||||
warn: 40,
|
||||
error: 50,
|
||||
fatal: 60,
|
||||
get lower() {
|
||||
return LogLevels.trace;
|
||||
},
|
||||
get higher() {
|
||||
return LogLevels.fatal;
|
||||
},
|
||||
}, 'lower', 'higher');
|
||||
exports.LogLevels = LogLevels;
|
||||
var LogLevelNames = ['trace', 'debug', 'info', 'warn', 'error', 'fatal'];
|
||||
exports.LogLevelNames = LogLevelNames;
|
||||
var LogLevelValues = LogLevelNames.map(function (name) { return LogLevels[name]; });
|
||||
exports.LogLevelValues = LogLevelValues;
|
||||
var LogLevelsScale = LogLevelNames.map(function (name, index, _a) {
|
||||
var length = _a.length;
|
||||
var first = index === 0;
|
||||
var last = index === length - 1;
|
||||
var from = first ? -Infinity : LogLevelValues[index];
|
||||
var next = last ? +Infinity : LogLevelValues[index + 1];
|
||||
var test;
|
||||
if (first) {
|
||||
test = function (level) { return level < next; };
|
||||
}
|
||||
else if (last) {
|
||||
test = function (level) { return level >= from; };
|
||||
}
|
||||
else {
|
||||
test = function (level) { return level < next && level >= from; };
|
||||
}
|
||||
return { range: { from: from, next: next }, name: name, test: test };
|
||||
});
|
||||
exports.LogLevelsScale = LogLevelsScale;
|
||||
var logLevelNameFor = function (level) {
|
||||
if (level == null || isNaN(level)) {
|
||||
return LogLevelNames[0];
|
||||
}
|
||||
return LogLevelsScale.find(function (_a) {
|
||||
var test = _a.test;
|
||||
return test(level);
|
||||
}).name;
|
||||
};
|
||||
exports.logLevelNameFor = logLevelNameFor;
|
||||
var parseLogLevel = function (level) {
|
||||
if (typeof level === 'string') {
|
||||
level = level.toLowerCase();
|
||||
if (level in LogLevels) {
|
||||
return LogLevels[level];
|
||||
}
|
||||
return /^\s*[0-9]+\s*$/.test(level) ? parseInt(level.trim(), 10) : undefined;
|
||||
}
|
||||
return typeof level === 'number' && !isNaN(level) ? +level : undefined;
|
||||
};
|
||||
exports.parseLogLevel = parseLogLevel;
|
18
node_modules/bs-logger/dist/logger/message.d.ts
generated
vendored
Normal file
18
node_modules/bs-logger/dist/logger/message.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
import { LogContext } from './context';
|
||||
interface LogMessage {
|
||||
context: LogContext;
|
||||
message: string;
|
||||
sequence: number;
|
||||
time: number;
|
||||
}
|
||||
declare type LogMessageFormatter = (msg: LogMessage) => string;
|
||||
declare type LogMessageTranslator = (msg: LogMessage) => LogMessage;
|
||||
interface LogFormattersMap {
|
||||
json: LogMessageFormatter;
|
||||
simple: LogMessageFormatter;
|
||||
[key: string]: LogMessageFormatter;
|
||||
}
|
||||
declare let LogFormatters: LogFormattersMap;
|
||||
declare const resetLogFormatters: () => void;
|
||||
declare const registerLogFormatter: (name: string, format: LogMessageFormatter) => void;
|
||||
export { LogMessage, LogMessageTranslator, LogMessageFormatter, LogFormatters, resetLogFormatters, registerLogFormatter, };
|
37
node_modules/bs-logger/dist/logger/message.js
generated
vendored
Normal file
37
node_modules/bs-logger/dist/logger/message.js
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
"use strict";
|
||||
var __assign = (this && this.__assign) || function () {
|
||||
__assign = Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var fast_json_stable_stringify_1 = __importDefault(require("fast-json-stable-stringify"));
|
||||
var context_1 = require("./context");
|
||||
var level_1 = require("./level");
|
||||
var LogFormatters = defaultLogFormatters();
|
||||
exports.LogFormatters = LogFormatters;
|
||||
var resetLogFormatters = function () {
|
||||
exports.LogFormatters = LogFormatters = defaultLogFormatters();
|
||||
};
|
||||
exports.resetLogFormatters = resetLogFormatters;
|
||||
var registerLogFormatter = function (name, format) {
|
||||
LogFormatters[name] = format;
|
||||
};
|
||||
exports.registerLogFormatter = registerLogFormatter;
|
||||
function defaultLogFormatters() {
|
||||
return {
|
||||
json: function (msg) { return fast_json_stable_stringify_1.default(__assign({}, msg, { time: new Date(msg.time) }), { cycles: true }); },
|
||||
simple: function (msg) {
|
||||
return (msg.context[context_1.LogContexts.package] || msg.context[context_1.LogContexts.application] || 'main') + "[" + (msg.context[context_1.LogContexts.namespace] || 'root') + "] (" + level_1.logLevelNameFor(msg.context[context_1.LogContexts.logLevel]).toUpperCase() + ") " + msg.message;
|
||||
},
|
||||
};
|
||||
}
|
4
node_modules/bs-logger/dist/logger/root.d.ts
generated
vendored
Normal file
4
node_modules/bs-logger/dist/logger/root.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
import { Logger } from '.';
|
||||
declare const setup: (factory?: () => Logger) => void;
|
||||
declare const rootLogger: Logger;
|
||||
export { rootLogger, setup };
|
79
node_modules/bs-logger/dist/logger/root.js
generated
vendored
Normal file
79
node_modules/bs-logger/dist/logger/root.js
generated
vendored
Normal file
|
@ -0,0 +1,79 @@
|
|||
"use strict";
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __spread = (this && this.__spread) || function () {
|
||||
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
||||
return ar;
|
||||
};
|
||||
var __values = (this && this.__values) || function (o) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
||||
if (m) return m.call(o);
|
||||
return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var e_1, _a;
|
||||
var cache_getters_1 = require("../utils/cache-getters");
|
||||
var _1 = require(".");
|
||||
var level_1 = require("./level");
|
||||
var cache;
|
||||
var setup = function (factory) {
|
||||
if (factory === void 0) { factory = function () { return _1.createLogger({ targets: process.env.LOG_TARGETS || process.env.LOG_TARGET }); }; }
|
||||
cache = cache_getters_1.cacheGetters({
|
||||
get root() {
|
||||
return factory();
|
||||
},
|
||||
}, 'root');
|
||||
};
|
||||
exports.setup = setup;
|
||||
var rootLogger = (function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
return cache.root.apply(cache, __spread(args));
|
||||
});
|
||||
exports.rootLogger = rootLogger;
|
||||
var props = __spread(level_1.LogLevelNames, ['child', 'wrap']);
|
||||
var _loop_1 = function (prop) {
|
||||
Object.defineProperty(rootLogger, prop, {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
get: function () {
|
||||
return cache.root[prop];
|
||||
},
|
||||
});
|
||||
};
|
||||
try {
|
||||
for (var props_1 = __values(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {
|
||||
var prop = props_1_1.value;
|
||||
_loop_1(prop);
|
||||
}
|
||||
}
|
||||
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
||||
finally {
|
||||
try {
|
||||
if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);
|
||||
}
|
||||
finally { if (e_1) throw e_1.error; }
|
||||
}
|
||||
cache_getters_1.cacheGetters.apply(void 0, __spread([rootLogger], props));
|
||||
setup();
|
11
node_modules/bs-logger/dist/logger/target.d.ts
generated
vendored
Normal file
11
node_modules/bs-logger/dist/logger/target.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
/// <reference types="node" />
|
||||
import { Writable } from 'stream';
|
||||
import { LogMessageFormatter } from './message';
|
||||
interface LogTarget {
|
||||
stream: Writable;
|
||||
minLevel: number;
|
||||
format: LogMessageFormatter;
|
||||
}
|
||||
declare const parseLogTargets: (targetString?: string | undefined) => LogTarget[];
|
||||
declare const DEFAULT_LOG_TARGET: string;
|
||||
export { LogTarget, DEFAULT_LOG_TARGET, parseLogTargets };
|
90
node_modules/bs-logger/dist/logger/target.js
generated
vendored
Normal file
90
node_modules/bs-logger/dist/logger/target.js
generated
vendored
Normal file
|
@ -0,0 +1,90 @@
|
|||
"use strict";
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __spread = (this && this.__spread) || function () {
|
||||
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
||||
return ar;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var fs_1 = require("fs");
|
||||
var path_1 = require("path");
|
||||
var cache_getters_1 = require("../utils/cache-getters");
|
||||
var level_1 = require("./level");
|
||||
var message_1 = require("./message");
|
||||
var logTargetWithLevelRegex = new RegExp("^\\s*(.+):([0-9]+|" + level_1.LogLevelNames.join('|') + ")\\s*$", 'i');
|
||||
var parseLogTargets = function (targetString) {
|
||||
var items = (targetString || '').split(/([^\\]),/g).reduce(function (list, item, index) {
|
||||
if (index % 2 === 1) {
|
||||
list[list.length - 1] += item;
|
||||
}
|
||||
else {
|
||||
list.push(item);
|
||||
}
|
||||
return list;
|
||||
}, []);
|
||||
return items.reduce(function (targets, str) {
|
||||
var format;
|
||||
str = str.replace(/^(.+)%([a-z_][a-z0-9_]*)$/, function (_, before, key) {
|
||||
format = message_1.LogFormatters[key];
|
||||
return before;
|
||||
});
|
||||
var pieces = str.match(logTargetWithLevelRegex);
|
||||
var file;
|
||||
var level;
|
||||
if (pieces) {
|
||||
file = pieces[1].trim();
|
||||
level = pieces[2].trim();
|
||||
}
|
||||
else {
|
||||
file = str.trim();
|
||||
}
|
||||
var append = file.endsWith('+');
|
||||
if (append) {
|
||||
file = file.slice(0, -1).trim();
|
||||
}
|
||||
file = file.replace(/\\,/g, ',');
|
||||
if (!file) {
|
||||
return targets;
|
||||
}
|
||||
var isStandardFd = /^(stdout|stderr)$/i.test(file);
|
||||
if (format == null) {
|
||||
format = isStandardFd ? message_1.LogFormatters.simple : message_1.LogFormatters.json;
|
||||
}
|
||||
var target = cache_getters_1.cacheGetters({
|
||||
format: format,
|
||||
get minLevel() {
|
||||
return level_1.parseLogLevel(level) || -Infinity;
|
||||
},
|
||||
get stream() {
|
||||
if (isStandardFd) {
|
||||
return process[file.toLowerCase()];
|
||||
}
|
||||
else {
|
||||
return fs_1.createWriteStream(path_1.resolve(process.cwd(), file), {
|
||||
flags: append ? 'a' : 'w',
|
||||
autoClose: true,
|
||||
encoding: 'utf8',
|
||||
});
|
||||
}
|
||||
},
|
||||
}, 'minLevel', 'stream');
|
||||
return __spread(targets, [target]);
|
||||
}, []);
|
||||
};
|
||||
exports.parseLogTargets = parseLogTargets;
|
||||
var DEFAULT_LOG_TARGET = "stderr:" + level_1.LogLevels.warn;
|
||||
exports.DEFAULT_LOG_TARGET = DEFAULT_LOG_TARGET;
|
8
node_modules/bs-logger/dist/testing/index.d.ts
generated
vendored
Normal file
8
node_modules/bs-logger/dist/testing/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
import { CreateLoggerOptions, Logger } from '../logger';
|
||||
import { ExtendedArray, LogTargetMock, extendArray } from './target-mock';
|
||||
declare const setupForTesting: (target?: LogTargetMock) => void;
|
||||
interface LoggerMock extends Logger {
|
||||
readonly target: LogTargetMock;
|
||||
}
|
||||
declare const createLoggerMock: (options?: CreateLoggerOptions | undefined, target?: LogTargetMock) => LoggerMock;
|
||||
export { LogTargetMock, ExtendedArray, extendArray, setupForTesting as setup, createLoggerMock, LoggerMock };
|
29
node_modules/bs-logger/dist/testing/index.js
generated
vendored
Normal file
29
node_modules/bs-logger/dist/testing/index.js
generated
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
"use strict";
|
||||
var __assign = (this && this.__assign) || function () {
|
||||
__assign = Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var logger_1 = require("../logger");
|
||||
var root_1 = require("../logger/root");
|
||||
var target_mock_1 = require("./target-mock");
|
||||
exports.LogTargetMock = target_mock_1.LogTargetMock;
|
||||
exports.extendArray = target_mock_1.extendArray;
|
||||
var setupForTesting = function (target) {
|
||||
if (target === void 0) { target = new target_mock_1.LogTargetMock(); }
|
||||
root_1.setup(function () { return createLoggerMock(undefined, target); });
|
||||
};
|
||||
exports.setup = setupForTesting;
|
||||
var createLoggerMock = function (options, target) {
|
||||
if (target === void 0) { target = new target_mock_1.LogTargetMock(); }
|
||||
var opt = __assign({}, options, { targets: [target] });
|
||||
return Object.assign(logger_1.createLogger(opt), { target: target });
|
||||
};
|
||||
exports.createLoggerMock = createLoggerMock;
|
28
node_modules/bs-logger/dist/testing/target-mock.d.ts
generated
vendored
Normal file
28
node_modules/bs-logger/dist/testing/target-mock.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
import { LogMessage } from '../logger/message';
|
||||
import { LogTarget } from '../logger/target';
|
||||
interface ExtendedArray<T> extends Array<T> {
|
||||
readonly last: T | undefined;
|
||||
}
|
||||
interface LogLevelMap<T> {
|
||||
trace: T;
|
||||
debug: T;
|
||||
info: T;
|
||||
warn: T;
|
||||
error: T;
|
||||
fatal: T;
|
||||
}
|
||||
declare const extendArray: <T>(array: T[]) => ExtendedArray<T>;
|
||||
declare class LogTargetMock implements LogTarget {
|
||||
minLevel: number;
|
||||
readonly messages: ExtendedArray<LogMessage> & LogLevelMap<ExtendedArray<LogMessage>>;
|
||||
readonly lines: ExtendedArray<string> & LogLevelMap<ExtendedArray<string>>;
|
||||
readonly stream: LogTarget['stream'];
|
||||
constructor(minLevel?: number);
|
||||
format(msg: LogMessage): string;
|
||||
clear(): void;
|
||||
filteredMessages(level: number, untilLevel?: number): ExtendedArray<LogMessage>;
|
||||
filteredMessages(level: null): ExtendedArray<LogMessage>;
|
||||
filteredLines(level: number, untilLevel?: number): ExtendedArray<string>;
|
||||
filteredLines(level: null): ExtendedArray<string>;
|
||||
}
|
||||
export { LogTargetMock, extendArray, ExtendedArray };
|
89
node_modules/bs-logger/dist/testing/target-mock.js
generated
vendored
Normal file
89
node_modules/bs-logger/dist/testing/target-mock.js
generated
vendored
Normal file
|
@ -0,0 +1,89 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var context_1 = require("../logger/context");
|
||||
var level_1 = require("../logger/level");
|
||||
var extendArray = function (array) {
|
||||
return Object.defineProperty(array, 'last', {
|
||||
configurable: true,
|
||||
get: function () {
|
||||
return this[this.length - 1];
|
||||
},
|
||||
});
|
||||
};
|
||||
exports.extendArray = extendArray;
|
||||
var LogTargetMock = (function () {
|
||||
function LogTargetMock(minLevel) {
|
||||
if (minLevel === void 0) { minLevel = -Infinity; }
|
||||
var _this = this;
|
||||
this.minLevel = minLevel;
|
||||
this.messages = Object.defineProperties(extendArray([]), {
|
||||
trace: { get: function () { return _this.filteredMessages(level_1.LogLevels.trace); } },
|
||||
debug: { get: function () { return _this.filteredMessages(level_1.LogLevels.debug); } },
|
||||
info: { get: function () { return _this.filteredMessages(level_1.LogLevels.info); } },
|
||||
warn: { get: function () { return _this.filteredMessages(level_1.LogLevels.warn); } },
|
||||
error: { get: function () { return _this.filteredMessages(level_1.LogLevels.error); } },
|
||||
fatal: { get: function () { return _this.filteredMessages(level_1.LogLevels.fatal); } },
|
||||
});
|
||||
this.lines = Object.defineProperties(extendArray([]), {
|
||||
trace: { get: function () { return _this.filteredLines(level_1.LogLevels.trace); } },
|
||||
debug: { get: function () { return _this.filteredLines(level_1.LogLevels.debug); } },
|
||||
info: { get: function () { return _this.filteredLines(level_1.LogLevels.info); } },
|
||||
warn: { get: function () { return _this.filteredLines(level_1.LogLevels.warn); } },
|
||||
error: { get: function () { return _this.filteredLines(level_1.LogLevels.error); } },
|
||||
fatal: { get: function () { return _this.filteredLines(level_1.LogLevels.fatal); } },
|
||||
});
|
||||
this.stream = {
|
||||
write: function (msg) { return !!_this.lines.push(msg); },
|
||||
};
|
||||
}
|
||||
LogTargetMock.prototype.format = function (msg) {
|
||||
this.messages.push(msg);
|
||||
var lvl = msg.context[context_1.LogContexts.logLevel];
|
||||
if (lvl != null) {
|
||||
return "[level:" + lvl + "] " + msg.message;
|
||||
}
|
||||
return msg.message;
|
||||
};
|
||||
LogTargetMock.prototype.clear = function () {
|
||||
this.messages.splice(0, this.messages.length);
|
||||
this.lines.splice(0, this.lines.length);
|
||||
};
|
||||
LogTargetMock.prototype.filteredMessages = function (level, untilLevel) {
|
||||
var filter;
|
||||
if (level == null) {
|
||||
filter = function (m) { return m.context[context_1.LogContexts.logLevel] == null; };
|
||||
}
|
||||
else if (untilLevel != null) {
|
||||
filter = function (m) {
|
||||
var lvl = m.context[context_1.LogContexts.logLevel];
|
||||
return lvl != null && lvl >= level && lvl <= untilLevel;
|
||||
};
|
||||
}
|
||||
else {
|
||||
filter = function (m) { return m.context[context_1.LogContexts.logLevel] === level; };
|
||||
}
|
||||
return extendArray(this.messages.filter(filter));
|
||||
};
|
||||
LogTargetMock.prototype.filteredLines = function (level, untilLevel) {
|
||||
var extractLevel = function (line) {
|
||||
var level = (line.match(/^\[level:([0-9]+)\] /) || [])[1];
|
||||
return level == null ? undefined : parseInt(level, 10);
|
||||
};
|
||||
var filter;
|
||||
if (level == null) {
|
||||
filter = function (line) { return extractLevel(line) === undefined; };
|
||||
}
|
||||
else if (untilLevel != null) {
|
||||
filter = function (line) {
|
||||
var lvl = extractLevel(line);
|
||||
return lvl != null && lvl >= level && lvl <= untilLevel;
|
||||
};
|
||||
}
|
||||
else {
|
||||
filter = function (line) { return extractLevel(line) === level; };
|
||||
}
|
||||
return extendArray(this.lines.filter(filter));
|
||||
};
|
||||
return LogTargetMock;
|
||||
}());
|
||||
exports.LogTargetMock = LogTargetMock;
|
2
node_modules/bs-logger/dist/utils/cache-getters.d.ts
generated
vendored
Normal file
2
node_modules/bs-logger/dist/utils/cache-getters.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
declare const cacheGetters: <T>(target: T, ...props: (keyof T)[]) => T;
|
||||
export { cacheGetters };
|
40
node_modules/bs-logger/dist/utils/cache-getters.js
generated
vendored
Normal file
40
node_modules/bs-logger/dist/utils/cache-getters.js
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
"use strict";
|
||||
var __assign = (this && this.__assign) || function () {
|
||||
__assign = Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
var __rest = (this && this.__rest) || function (s, e) {
|
||||
var t = {};
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
||||
t[p] = s[p];
|
||||
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
||||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
|
||||
t[p[i]] = s[p[i]];
|
||||
return t;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var cacheGetters = function (target) {
|
||||
var props = [];
|
||||
for (var _i = 1; _i < arguments.length; _i++) {
|
||||
props[_i - 1] = arguments[_i];
|
||||
}
|
||||
props.forEach(function (prop) {
|
||||
var desc = Object.getOwnPropertyDescriptor(target, prop);
|
||||
var set = desc.set, previousGet = desc.get, partial = __rest(desc, ["set", "get"]);
|
||||
desc.get = function get() {
|
||||
var value = previousGet.call(this);
|
||||
Object.defineProperty(this, prop, __assign({}, partial, { value: value }));
|
||||
return value;
|
||||
};
|
||||
Object.defineProperty(target, prop, desc);
|
||||
});
|
||||
return target;
|
||||
};
|
||||
exports.cacheGetters = cacheGetters;
|
108
node_modules/bs-logger/package.json
generated
vendored
Normal file
108
node_modules/bs-logger/package.json
generated
vendored
Normal file
|
@ -0,0 +1,108 @@
|
|||
{
|
||||
"_from": "bs-logger@0.x",
|
||||
"_id": "bs-logger@0.2.6",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
|
||||
"_location": "/bs-logger",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "bs-logger@0.x",
|
||||
"name": "bs-logger",
|
||||
"escapedName": "bs-logger",
|
||||
"rawSpec": "0.x",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.x"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/ts-jest"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
|
||||
"_shasum": "eb7d365307a72cf974cc6cda76b68354ad336bd8",
|
||||
"_spec": "bs-logger@0.x",
|
||||
"_where": "E:\\github\\setup-java\\node_modules\\ts-jest",
|
||||
"author": {
|
||||
"name": "Huafu Gandon",
|
||||
"email": "huafu.gandon@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/huafu/bs-logger/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"fast-json-stable-stringify": "2.x"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Bare simple logger for NodeJS",
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "7.x",
|
||||
"@commitlint/config-conventional": "7.x",
|
||||
"@types/jest": "23.x",
|
||||
"@types/node": "10.x",
|
||||
"conventional-changelog-cli": "2.x",
|
||||
"husky": "0.x",
|
||||
"jest": "23.x",
|
||||
"lint-staged": "7.x",
|
||||
"prettier": "1.x",
|
||||
"rimraf": "2.x",
|
||||
"ts-jest": "23.x",
|
||||
"tslint": "5.x",
|
||||
"tslint-config-prettier": "1.x",
|
||||
"tslint-plugin-prettier": "2.x",
|
||||
"typescript": "3.x"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"homepage": "https://github.com/huafu/bs-logger#readme",
|
||||
"keywords": [
|
||||
"bare simple logger",
|
||||
"simple logger",
|
||||
"simple",
|
||||
"logger",
|
||||
"typescript",
|
||||
"lib",
|
||||
"library"
|
||||
],
|
||||
"license": "MIT",
|
||||
"lint-staged": {
|
||||
"linters": {
|
||||
"*.{ts,tsx}": [
|
||||
"tslint --fix",
|
||||
"git add"
|
||||
]
|
||||
}
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"name": "bs-logger",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/huafu/bs-logger.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.build.json",
|
||||
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
|
||||
"clean": "rimraf dist coverage",
|
||||
"commitmsg": "commitlint -E GIT_PARAMS",
|
||||
"lint": "tslint --project tsconfig.json --format stylish",
|
||||
"lint:fix": "tslint --fix --project tsconfig.json",
|
||||
"postcommit": "git reset",
|
||||
"posttest": "npm run typecheck && npm run lint",
|
||||
"postversion": "git push && git push --tags",
|
||||
"prebuild": "npm run clean",
|
||||
"precommit": "lint-staged",
|
||||
"prepare": "npm run build",
|
||||
"prepublishOnly": "npm run test",
|
||||
"preversion": "npm test",
|
||||
"test": "jest --coverage",
|
||||
"test:watch": "jest --watch",
|
||||
"typecheck": "tsc -p . --noEmit",
|
||||
"version": "npm run changelog && git add CHANGELOG.md"
|
||||
},
|
||||
"types": "dist/index.d.ts",
|
||||
"version": "0.2.6"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue