Skip to content

Commit 45f8379

Browse files
author
craig
committed
* initial browser support doco - @craigparra
1 parent 37d1a63 commit 45f8379

File tree

1 file changed

+43
-11
lines changed

1 file changed

+43
-11
lines changed

README.md

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ A Simple Log Facade for JavaScript
99

1010
<a name="intro">Introduction</a>
1111
--------------------------------
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)
1313
package interface.
1414

1515
<a name="usage">Usage</a>
@@ -21,8 +21,8 @@ To use the module, import the LoggerFactory and call the `getLogger` function wi
2121
requires path is a sensible choice).
2222

2323
```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';
2626
const logger = LoggerFactory.getLogger('@myorg/mypackage/MyModule',config);
2727

2828
logger.info('Hello world!');
@@ -46,16 +46,16 @@ following in your [config](https://www.npmjs.com/package/config) files.
4646

4747
### @alt-javascript/boot
4848

49-
The LoggerSyntax is more fluent if you combine
49+
The Logger syntax is more fluent if you combine
5050
[@alt-javascript/boot](https://www.npmjs.com/package/@alt-javascript/boot) and
5151
[@alt-javascript/config](https://www.npmjs.com/package/@alt-javascript/config) to bind the LoggerFactory
5252
to the global root context, freeing your sub-modules from requiring and injecting the config.
5353

5454
`MyModule.js`
5555
```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';
5959
boot({config:config});
6060

6161
```
@@ -64,11 +64,43 @@ Then in your application modules, you only need.
6464

6565
`MyModule.js`
6666
```javascript
67-
const {LoggerFactory} = require('@alt-javascript/logger');
67+
import { LoggerFactory } from '@alt-javascript/logger';
6868

6969
const logger = LoggerFactory.getLogger('@myorg/mypackage/MyModule');
7070
logger.info('Hello from MyModule!')
7171
```
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+
```
72104

73105
### Log Levels
74106

@@ -133,8 +165,8 @@ Testing loggers is hard, and testability is a first class concern at @alt-javasc
133165
'CachingLoggerFactory' that will provide a logger implementation that will capture log lines that can be asserted.
134166

135167
```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';
138170
const logger = CachingLoggerFactory.getLogger('@myorg/mypackage/MyModule', config);
139171

140172
logger.info('Hello world!');
@@ -149,4 +181,4 @@ assert.isTrue(logger.provider.console.cache[0].contains('Hello world!'))
149181

150182
May be freely distributed under the [MIT license](https://github.com/craigparra/alt-logger/master/LICENSE).
151183

152-
Copyright (c) 2021 Craig Parravicini
184+
Copyright (c) 2021-2022 Craig Parravicini

0 commit comments

Comments
 (0)