https://github.com/swanx1/logerian
Logerian is a quick and dirty logging utility.
https://github.com/swanx1/logerian
color colored colour coloured eslint hacktoberfest javascript jest logger logging node nodejs ts-jest tslint typescript
Last synced: 2 months ago
JSON representation
Logerian is a quick and dirty logging utility.
- Host: GitHub
- URL: https://github.com/swanx1/logerian
- Owner: SwanX1
- License: cc0-1.0
- Created: 2021-06-26T13:16:25.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-19T03:04:25.000Z (almost 2 years ago)
- Last Synced: 2025-01-24T16:05:55.417Z (5 months ago)
- Topics: color, colored, colour, coloured, eslint, hacktoberfest, javascript, jest, logger, logging, node, nodejs, ts-jest, tslint, typescript
- Language: TypeScript
- Homepage: https://cernavskis.dev/docs/logerian
- Size: 760 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Logerian
### Description
Logerian is a logging utility made by [me](https://github.com/SwanX1)!
I made this logging utility mainly because I am too dumb to understand other loggers like [winston](https://www.npmjs.com/package/winston) and [signale](https://www.npmjs.com/package/signale).
If you're willing to contribute, please read [CONTRIBUTING.md](./CONTRIBUTING.md).### Demo
### Usage
To use this logger, you can simply just create a new logger instance and it'll work.
It uses default options, which is the built-in `coloredLog` prefix, routing log levels correctly to stdout and stderr respectively:
```typescript
import { Logger } from "logerian"; // ES import
const { Logger } = require("logerian"); // CJS importconst logger = new Logger();
logger.info("Hello World!");
// Output: [17:43:01] [INFO] Hello World!
```By default, the logger adds a prefix with a timestamp and log level as shown in the example code above.
If you wish to change that, you'll have to define a stream when you create the logger.
```typescript
const logger = new Logger({
streams: [
{
stream: process.stdout,
},
],
});logger.info("foobar");
// Output: foobar
```A logger can utilize multiple output streams:
```typescript
const logger = new Logger({
streams: [
{
stream: process.stdout,
},
{
stream: fs.createWriteStream("log.txt"),
},
],
});logger.info("Iron Man dies in Endgame");
// Output: Iron Man dies in Endgame
logger.info("Steve Rogers is old!!");
// Output: Steve Rogers is old!!
```
```conf
# log.txt
Iron Man dies in Endgame
Steve Rogers is old!!
```There's also a neat thing called log levels!
```typescript
import { Logger, LoggerLevel } from "logerian";
const { Logger, LoggerLevel } = require("logerian");const logger = new Logger({
streams: [
{
level: LoggerLevel.WARN,
stream: process.stdout,
},
{
level: LoggerLevel.DEBUG, // Debug level is default
stream: fs.createWriteStream("log.txt"),
}
],
});// Logs to both - stdout and log.txt
logger.error("Uh oh! There's an error!");// Logs only to log.txt
logger.debug("By the way, there's an error because your code sucks!");
```If you want to use pinned lines (as they're called in code), just use `logger.createPinnedLine`. The rest should be pretty easy to understand from the documentation
For advanced users, view the [JSDocs](https://swanx1.github.io/logerian).