Compare commits

...

4 Commits

Author SHA1 Message Date
7cbc64ed8d 3.1.5
Some checks failed
Default (tags) / security (push) Successful in 40s
Default (tags) / test (push) Failing after 1m5s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-05-20 19:24:39 +00:00
2c49ef49c2 fix(core): Maintain and verify project metadata and commit info consistency 2025-05-20 19:24:38 +00:00
823784e6b6 3.1.4
Some checks failed
Default (tags) / security (push) Successful in 41s
Default (tags) / test (push) Failing after 1m5s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-05-20 16:45:11 +00:00
a98f48409d fix(DestinationLocal): Fix debug log rendering, add fallback for unknown log levels, and correct error prefix typo in local destination 2025-05-20 16:45:11 +00:00
5 changed files with 45 additions and 7 deletions

View File

@ -1,5 +1,18 @@
# Changelog
## 2025-05-20 - 3.1.5 - fix(core)
Maintain and verify project metadata and commit info consistency
- No code changes; confirming commit info files and documentation remain aligned
- Ensured consistent versioning across submodules and package metadata
## 2025-05-20 - 3.1.4 - fix(DestinationLocal)
Fix debug log rendering, add fallback for unknown log levels, and correct error prefix typo in local destination
- Added tests for debug and unknown log levels in DestinationLocal
- Refactored log string generation to use a fallback style for undefined levels
- Fixed typo: replaced non-existent 'errorPrefix' with 'error.prefix'
## 2025-05-19 - 3.1.3 - fix(documentation)
Update API reference and enhance README with detailed examples and usage instructions

View File

@ -1,6 +1,6 @@
{
"name": "@push.rocks/smartlog",
"version": "3.1.3",
"version": "3.1.5",
"private": false,
"description": "A minimalistic, distributed, and extensible logging tool supporting centralized log management.",
"keywords": [

View File

@ -92,5 +92,23 @@ tap.test('should create new line(s)', async () => {
// Multiple lines
testDestination.newLine(3);
});
// Test debug level rendering and fallback for unknown levels
tap.test('should handle debug and unknown log levels', async () => {
testDestination = new DestinationLocal();
let out = '';
const originalLog = console.log;
console.log = (msg: string) => { out += msg; };
// debug level should render message correctly
await testDestination.handleLog(createMockLogPackage('debug', 'debug 🎉'));
expect(out).toContain('debug 🎉');
// fallback for unknown level should still render message
out = '';
await testDestination.handleLog(createMockLogPackage('verbose' as any, 'verbose ⚠️'));
expect(out).toContain('verbose ⚠️');
console.log = originalLog;
});
export default tap.start();

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@push.rocks/smartlog',
version: '3.1.3',
version: '3.1.5',
description: 'A minimalistic, distributed, and extensible logging tool supporting centralized log management.'
}

View File

@ -61,19 +61,22 @@ export class DestinationLocal implements ILogDestination {
// default logging
private logToConsole(logPackageArg: ILogPackage) {
let logString: string;
try {
logString =
this.localBl[logPackageArg.level].prefix +
const style = this.localBl[logPackageArg.level] ?? this.localBl.info;
const logString =
style.prefix +
plugins.consolecolor.coloredString(
logPackageArg.message,
this.localBl[logPackageArg.level].textColor
style.textColor
);
console.log(logString);
return true;
} catch (error) {
// typo fix: use the defined error.prefix, not a non-existent errorPrefix
console.log(
this.localBl.errorPrefix + 'You seem to have tried logging something strange' + error
this.localBl.error.prefix +
'You seem to have tried logging something strange ' +
error
);
return false;
}
@ -89,6 +92,10 @@ export class DestinationLocal implements ILogDestination {
prefix: plugins.consolecolor.coloredString(' silly ', 'white', 'blue') + ' ',
textColor: 'blue',
},
debug: {
prefix: plugins.consolecolor.coloredString(' debug ', 'gray', 'black') + ' ',
textColor: 'gray',
},
error: {
prefix:
plugins.consolecolor.coloredString(' ', 'red', 'red') +