@avocajs/logger
v1.0.0
Published
A simple logger package for logging messages to a log file.
Downloads
1
Readme
@AvocaJs/Logger
A simple logger class for logging messages to a log file. This package provides a straightforward way to log messages with timestamps to a specified log file.
Table of Contents
Installation
You can install the package using npm:
npm install @avocajs/logger
Usage
Importing the Logger
First, import the Logger
class from the package:
import { Logger } from "@avocajs/logger";
Creating a Logger Instance
Create an instance of the Logger
class by providing the path to the log file:
const logger = new Logger("./path/to/logfile.log");
Logging Messages
Use the log
method to log messages to the specified log file. The log method returns a promise that resolves when the message is successfully logged:
logger
.log("This is a log message")
.then(() => console.log("Message logged successfully"))
.catch((error) => console.error("Error logging message:", error));
Setting the Log File Path
You can change the log file path using the setPath
method:
logger.setPath("./new/path/to/logfile.log");
Getting the Log File Path
You can retrieve the current log file path using the getPath
method:
const logFilePath = logger.getPath();
console.log("Current log file path:", logFilePath);
API Reference
Logger
constructor(path: string)
Creates a new instance of the Logger
class.
path
(string): The path to the log file.
setPath(path: string): void
Sets the path for the log file.
path
(string): The path to the log file.- Throws
LoggerError
if the provided path is not a string.
getPath(): string
Gets the current path of the log file.
log(message: string): Promise<void>
Logs a message to the log file.
message
(string): The message to be logged.- Returns a promise that resolves when the message is logged successfully.
- Throws
LoggerError
if the log path is not set or the message is not a string.
Error Handling
The Logger
class uses a custom error class LoggerError
for error handling. Ensure you handle these errors appropriately in your application.
Dependencies
This package depends on the following modules:
fs/promises
: Used for file system operations.@avocajs/check
: Used for input validation../errors/LoggerError
: Custom error class for handling logging errors.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request for any bugs or feature requests.
Developer
Contact me at: [email protected]