我需要在我的角度应用程序(打字稿)中创建一个自定义日志。 当您按下某些操作按钮时。
日志正文如下:
我当前的实现是下一个:
extraction(): void {
// bla bla bla code
this.loggerService.setMessage(setExtractionMessage());
console.log(this.loggerService.getMessage());
}
download(): void {
// bla bla bla code
this.loggerService.setMessage(setDownloadMessage());
console.log(this.loggerService.getMessage());
}
setDownloadMessage(): string {
const date = ...;
const time = ...;
const env = ...;
// same with all the constants
finalLog += date + time + env ...;
return finalLog;
}
setExtractionMessage(): string {
const date = ...;
const time = ...;
const env = ...;
// same with all the constants
finalLog += date + time + env ...;
return finalLog;
}
setMessage(message: string) {
this.message = '';
this.message = message;
}
getMessage() {
return this.message;
}
对改善我的实施情况有什么建议吗? 预先感谢。
答案 0 :(得分:1)
我将为Logger Service承担更多责任。定义所有消息类型的Enum,定义消息类型,发送参数并让logger服务完成工作。
enum Messages: {
extraction,
download,
other
}
extraction(): void {
// bla bla bla code
this.loggerService.logger(Messages.extraction, parameters);
}
download(): void {
// bla bla bla code
this.loggerService.logger(Messages.download, parameters);
}
logger(type, parameters: any[]){
switch(type) {
case Messages.extraction:
finalLog = parameters.map(t => ''+t).join(', ');
console.log(finalLog);
break;
case Messages.download:
finalLog = parameters.map(t => ''+t).join(', ');
console.log(finalLog);
break;
}
}