Skip to content

Commit dedd353

Browse files
committed
docs: add docs
1 parent e6d6d53 commit dedd353

8 files changed

Lines changed: 1033 additions & 20 deletions

File tree

src/LogLevel.ts

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,42 @@
1-
// src/shared/logger/LogLevel.ts
1+
/**
2+
* @fileoverview Log level enumeration and utility functions for the logger.
3+
* Provides definitions for log severity levels and conversion utilities.
4+
*/
25

6+
/**
7+
* Enumeration of log severity levels.
8+
* Levels are ordered from least to most severe.
9+
*
10+
* @enum {number}
11+
* @readonly
12+
*/
313
export enum LogLevel {
14+
/** Trace level - most verbose, used for detailed diagnostic information */
415
Trace = 0,
16+
/** Debug level - detailed information for debugging purposes */
517
Debug = 1,
18+
/** Info level - general informational messages */
619
Info = 2,
20+
/** Warn level - warning messages for potentially problematic situations */
721
Warn = 3,
22+
/** Error level - error messages for error conditions */
823
Error = 4,
24+
/** Fatal level - fatal error messages for critical failures */
925
Fatal = 5,
26+
/** Off level - disables all logging */
1027
Off = 6,
1128
}
1229

30+
/**
31+
* Converts a log level to its string representation.
32+
*
33+
* @param {LogLevel} level - The log level to convert
34+
* @returns {string} The uppercase string representation of the log level
35+
*
36+
* @example
37+
* levelToString(LogLevel.Debug); // Returns "DEBUG"
38+
* levelToString(LogLevel.Error); // Returns "ERROR"
39+
*/
1340
export function levelToString(level: LogLevel): string {
1441
switch (level) {
1542
case LogLevel.Trace:
@@ -29,6 +56,18 @@ export function levelToString(level: LogLevel): string {
2956
}
3057
}
3158

59+
/**
60+
* Converts a string representation to a log level.
61+
* String matching is case-insensitive.
62+
*
63+
* @param {string} str - The string representation of the log level
64+
* @returns {LogLevel} The corresponding log level, or LogLevel.Info if not recognized
65+
*
66+
* @example
67+
* levelFromString("debug"); // Returns LogLevel.Debug
68+
* levelFromString("ERROR"); // Returns LogLevel.Error
69+
* levelFromString("unknown"); // Returns LogLevel.Info (default)
70+
*/
3271
export function levelFromString(str: string): LogLevel {
3372
switch (str.upper()) {
3473
case "TRACE":
@@ -50,10 +89,35 @@ export function levelFromString(str: string): LogLevel {
5089
}
5190
}
5291

92+
/**
93+
* Determines if a log level should be enabled based on minimum threshold.
94+
* A level is enabled if it's at or above the minimum level and not Off.
95+
*
96+
* @param {LogLevel} current - The current log level to check
97+
* @param {LogLevel} min - The minimum log level threshold
98+
* @returns {boolean} True if the current level is enabled, false otherwise
99+
*
100+
* @example
101+
* isEnabled(LogLevel.Error, LogLevel.Warn); // Returns true (Error >= Warn)
102+
* isEnabled(LogLevel.Debug, LogLevel.Warn); // Returns false (Debug < Warn)
103+
* isEnabled(LogLevel.Off, LogLevel.Info); // Returns false (Off disables all)
104+
*/
53105
export function isEnabled(current: LogLevel, min: LogLevel): boolean {
54106
return current !== LogLevel.Off && current >= min;
55107
}
56108

109+
/**
110+
* Gets the hex color code for a log level.
111+
* Colors are used for visual formatting of log output.
112+
*
113+
* @param {LogLevel} level - The log level to get the color for
114+
* @returns {string} Hex color code (e.g., "#FF1744")
115+
*
116+
* @example
117+
* levelToColor(LogLevel.Error); // Returns "#E57373"
118+
* levelToColor(LogLevel.Fatal); // Returns "#FF1744"
119+
* levelToColor(LogLevel.Debug); // Returns "#64B5F6"
120+
*/
57121
export function levelToColor(level: LogLevel): string {
58122
switch (level) {
59123
case LogLevel.Trace:
@@ -73,6 +137,17 @@ export function levelToColor(level: LogLevel): string {
73137
}
74138
}
75139

140+
/**
141+
* Generates an HTML-formatted prefix for a log level with color.
142+
* Intended for use in formatted log output.
143+
*
144+
* @param {LogLevel} level - The log level to generate a prefix for
145+
* @returns {string} HTML-formatted prefix string (e.g., "<font color="#E57373">[ERROR]</font>")
146+
*
147+
* @example
148+
* levelToPrefix(LogLevel.Error); // Returns '<font color="#E57373">[ERROR]</font>'
149+
* levelToPrefix(LogLevel.Info); // Returns '<font color="#81C784">[INFO]</font>'
150+
*/
76151
export function levelToPrefix(level: LogLevel): string {
77152
const color = levelToColor(level);
78153
const name = levelToString(level);

0 commit comments

Comments
 (0)