@megaorm/logger
Version:
This package is designed for managing log files, with support for logging messages, retrieving entries, filtering by date, and more.
97 lines (62 loc) • 2.38 kB
Markdown
# MegaORM Logger
This package is designed for managing log files, with support for logging messages, retrieving entries, filtering by date, and more.
## Features
- Retrieve all logs as objects or plain messages.
- Filter logs by a specific date.
- Clear log file content.
- Simple and intuitive API.
## Installation
Install this package via npm:
```bash
npm install @megaorm/logger
```
## Usage
Import Logger:
```js
const { Logger } = require('@megaorm/logger');
```
Create an instance of the Logger class and specify the path to your log file:
```js
const logger = new Logger('./app.log');
```
Log a message to your log file:
```js
await logger.log('This is a log message');
```
Retrieve all log entries as an array of objects:
```js
const logs = await logger.get.logs();
console.log(logs);
// Output: [{ date: '2024-10-12 12:34:56', message: 'This is a log message' }, ...]
```
Retrieve all log messages as plain strings:
```js
const messages = await logger.get.messages();
console.log(messages);
// Output: ['This is a log message', ...]
```
Retrieve log messages starting from a specific date:
```js
const messages = await logger.get.from('2024-10-12 00:00:00');
console.log(messages);
// Output: ['Log message from 2024-10-12', ...]
```
Clear all log entries in the log file:
```js
await logger.clear();
```
## API
- **`constructor(path)`**: Initializes a new `Logger` instance.
- **`path`**: The file path where logs are stored. Must be a valid string. If the file does not exist, it will be created automatically.
- **`log(message)`**: Logs a message with a UTC timestamp.
- **`message`**: The message to log. Must be a string.
- **`clear()`**: Clears all log entries in the file.
- **`get.path()`**: Returns the file path of the log file.
- **`get.logs()`**: Returns all log entries as an array of objects with `date` and `message` properties.
- **`get.messages()`**: Returns all log messages as plain strings.
- **`get.from(date)`**: Returns log messages from a specific date onward.
- **`date`**: A string in the format `YYYY-MM-DD HH:MM:SS`.
## Notes
- Logs are stored in the format: `[YYYY-MM-DD HH:MM:SS] message`.
- The log file is automatically created if it does not exist at the specified path.
- All dates and times are in UTC.