https://github.com/farskid/logman
:bulb: Simple nano logger service for javascript applications.
https://github.com/farskid/logman
javascript javascript-logger logger nano-js
Last synced: about 2 months ago
JSON representation
:bulb: Simple nano logger service for javascript applications.
- Host: GitHub
- URL: https://github.com/farskid/logman
- Owner: farskid
- Created: 2017-12-12T22:54:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T20:00:31.000Z (over 3 years ago)
- Last Synced: 2025-08-15T18:25:10.570Z (9 months ago)
- Topics: javascript, javascript-logger, logger, nano-js
- Language: JavaScript
- Homepage:
- Size: 196 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Logman
Simple nano logger service for javascript applications. Logman leverages usage of `console` object and it's methods to log different your messages into browser's console.
> Note: Logman isn't a crash reporter and it will shut up on production by checking NODE_ENV environment variable. Make sure to set NODE_ENV=production when building your Javscript application.
## Install
`npm install @farskid/logman`
### ES module
```javascript
import Logman from "logman";
const logger = new Logman("my-logger");
logger.log("Log me first"); // [[my-logger]] Log me first
logger.error("Log me as an error"); // [[my-logger]] Log me as an error
```
### CommonJS
```javascript
const Logman = require("logman");
const logger = new Logman("my-logger");
logger.log("Log me first"); // [[my-logger]] Log me first
logger.error("Log me as an error"); // [[my-logger]] Log me as an error
```
## Recipes
```javascript
/*
You can create multiple instances of Logman for different namespaces
*/
const userLogs = new Logman("user-logs");
const exceptionLogs = new Logman("exceptions");
userLogs.log("user is logged out"); // [user-logs] user is logged out
exceptionLogs.error("Caught some http exceptions"); // [exceptions] Caught some http exceptions
/*
You can put logger into sleep temporarily. When logger instance is in sleep mode, it reject any action.
*/
userLogs.sleep();
userLogs.log("This won`t be logged");
userLLogs.error("This won`t be logged as well!");
/* You can awaken the logger again by using awake() method */
userLogs.awake();
userLogs.log('ok! I"m back');
/*
To check whether logger is sleep or not, you can use isSleep prop.
isSleep is *false* by default
*/
userLog.isSleep; // false
userLog.sleep();
userLog.isSleep; // true
userLog.awake();
userLog.isSleep; // false
/*
You can destroy a Logman instance too!
Obviously this is just a soft destory and a one way to make logger inactive forever. If you want the logger to be destroyed permenantly and be garbage collected (memory efficient), you can do one of these:
let logger = new Logman('temp-logger');
logger = null;
Or if you're using multiple loggers, you can store them in a single object:
const loggers = {
firstLogger: new Logman('first-logger'),
secondLogger: new Logman('second-logger')
};
delete loggers.firstLogger;
delete loggers.secondLogger;
*/
userLog.destroy();
```
## Roadmap
* Accept custom adapter (default to window.console)
* Automatic logs on common events
* Log timestamps
## License
Logman is published under MIT license.