dev: add prefix logger

This commit is contained in:
KernelDeimos
2024-11-05 15:57:55 -05:00
parent da0022abf0
commit ba2eb716f5
2 changed files with 40 additions and 1 deletions
+15 -1
View File
@@ -159,7 +159,7 @@ window.puter = (function() {
logger = new putility.libs.log.CategorizedToggleLogger(
{ delegate: logger });
const cat_logger = logger;
// create facade for easy logging
this.log = new putility.libs.log.LoggerFacade({
impl: logger,
@@ -248,6 +248,20 @@ window.puter = (function() {
console.error('Error accessing localStorage:', error);
}
}
// Add prefix logger (needed to happen after modules are initialized)
(async () => {
const whoami = await this.auth.whoami();
logger = new putility.libs.log.PrefixLogger({
delegate: logger,
prefix: '[' +
(whoami?.app_name ?? this.appInstanceID ?? 'HOST') +
'] ',
});
this.log.impl = logger;
})();
}
registerModule (name, instance) {
+25
View File
@@ -135,6 +135,30 @@ class ConsoleLogger extends AdvancedBase {
}
}
class PrefixLogger extends AdvancedBase {
static PROPERTIES = {
prefix: {
construct: true,
value: ''
},
delegate: {
construct: true,
value: null,
adapt: v => AS(v, TLogger),
}
}
static IMPLEMENTS = {
[TLogger]: {
log (level, message, fields, values) {
return this.delegate.log(
level, this.prefix + message,
fields, values
);
}
}
}
}
class FieldsLogger extends AdvancedBase {
static PROPERTIES = {
fields: {
@@ -210,6 +234,7 @@ module.exports = {
CategorizedToggleLogger,
ToggleLogger,
ConsoleLogger,
PrefixLogger,
FieldsLogger,
LoggerFacade,
};