@@ -9,7 +9,7 @@ A Simple Log Facade for JavaScript
9
9
10
10
<a name =" intro " >Introduction</a >
11
11
--------------------------------
12
- A simple configurable logging facade for javascript , using the popular [ config] ( https://www.npmjs.com/package/config )
12
+ A simple configurable logging facade for JavaScript , using the popular [ config] ( https://www.npmjs.com/package/config )
13
13
package interface.
14
14
15
15
<a name =" usage " >Usage</a >
@@ -21,8 +21,8 @@ To use the module, import the LoggerFactory and call the `getLogger` function wi
21
21
requires path is a sensible choice).
22
22
23
23
``` javascript
24
- const config = require ( ' config' ) ;
25
- const { LoggerFactory } = require ( ' @alt-javascript/logger' ) ;
24
+ import config from ' config' ;
25
+ import { LoggerFactory } from ' @alt-javascript/logger' ;
26
26
const logger = LoggerFactory .getLogger (' @myorg/mypackage/MyModule' ,config);
27
27
28
28
logger .info (' Hello world!' );
@@ -46,16 +46,16 @@ following in your [config](https://www.npmjs.com/package/config) files.
46
46
47
47
### @alt-javascript/boot
48
48
49
- The LoggerSyntax is more fluent if you combine
49
+ The Logger syntax is more fluent if you combine
50
50
[ @alt-javascript/boot ] ( https://www.npmjs.com/package/@alt-javascript/boot ) and
51
51
[ @alt-javascript/config ] ( https://www.npmjs.com/package/@alt-javascript/config ) to bind the LoggerFactory
52
52
to the global root context, freeing your sub-modules from requiring and injecting the config.
53
53
54
54
` MyModule.js `
55
55
``` javascript
56
- const { config } = require ( ' @alt-javascript/config' ) ;
57
- const { LoggerFactory } = require ( ' @alt-javascript/logger' ) ;
58
- const { boot } = require ( ' @alt-javascript/boot' ) ;
56
+ import config from ' @alt-javascript/config' ;
57
+ import { LoggerFactory } from ' @alt-javascript/logger' ;
58
+ import { boot } from ' @alt-javascript/boot' ;
59
59
boot ({config: config});
60
60
61
61
```
@@ -64,11 +64,43 @@ Then in your application modules, you only need.
64
64
65
65
` MyModule.js `
66
66
``` javascript
67
- const { LoggerFactory } = require ( ' @alt-javascript/logger' ) ;
67
+ import { LoggerFactory } from ' @alt-javascript/logger' ;
68
68
69
69
const logger = LoggerFactory .getLogger (' @myorg/mypackage/MyModule' );
70
70
logger .info (' Hello from MyModule!' )
71
71
```
72
+ ### Browser
73
+
74
+ The module is also able to be used directly in the browser, in combination with the config module.
75
+ You can either import the LoggerFactory globally as an IIFE (Immediately Invoked Function Expression),
76
+ as follows:
77
+
78
+ ``` html
79
+ <script src =" https://cdn.jsdelivr.net/npm/@alt-javascript/logger/dist/alt-javascript-loggerfactory-iife.js" ></script >
80
+ <script src =" https://cdn.jsdelivr.net/npm/@alt-javascript/config/dist/alt-javascript-configfactory-iife.js" ></script >
81
+ <script >
82
+ var config = ConfigFactory .getConfig ({
83
+ " logging" : {
84
+ " format" : ' json' ,
85
+ " level" : {
86
+ " /" : " info" ,
87
+ " /MyPage" : " debug"
88
+ }
89
+ }
90
+ })
91
+ var logger = LoggerFactory .getLogger (' /MyPage' ,config);
92
+ logger .debug (' Hello World' );
93
+ </script >
94
+ ```
95
+
96
+ Or import the ES6 module bundle from a module, as follows:
97
+
98
+ ``` javascript
99
+ import { LoggerFactory } from ' https://cdn.jsdelivr.net/npm/@alt-javascript/logger/dist/alt-javascript-logger-esm.js'
100
+ import { ConfigFactory } from ' https://cdn.jsdelivr.net/npm/@alt-javascript/logger/dist/alt-javascript-config-esm.js'
101
+
102
+ // ...as above
103
+ ```
72
104
73
105
### Log Levels
74
106
@@ -133,8 +165,8 @@ Testing loggers is hard, and testability is a first class concern at @alt-javasc
133
165
'CachingLoggerFactory' that will provide a logger implementation that will capture log lines that can be asserted.
134
166
135
167
``` javascript
136
- const config = require ( ' config' ) ;
137
- const { CachingLoggerFactory } = require ( ' @alt-javascript/logger' ) ;
168
+ import config from ' config' ;
169
+ import { CachingLoggerFactory } from ' @alt-javascript/logger' ;
138
170
const logger = CachingLoggerFactory .getLogger (' @myorg/mypackage/MyModule' , config);
139
171
140
172
logger .info (' Hello world!' );
@@ -149,4 +181,4 @@ assert.isTrue(logger.provider.console.cache[0].contains('Hello world!'))
149
181
150
182
May be freely distributed under the [ MIT license] ( https://github.com/craigparra/alt-logger/master/LICENSE ) .
151
183
152
- Copyright (c) 2021 Craig Parravicini
184
+ Copyright (c) 2021-2022 Craig Parravicini
0 commit comments