我希望将记录引入angular2应用程序,并希望检查您可以推荐的任何好的库或方法.
记录要求是:
将有选项配置日志记录,如信息,警告,错误,调试和详细.
将日志保存到本地存储中,然后在一定时间间隔后将日志同步到服务器端点
将能够支持Json格式并控制日志格式
下面的要求将是很好的,任何与您可以分享的网络工作者的经验将不胜感激.
将日志记录功能构建为Web工作者以远离浏览器线程会很好,我们可能会将应用程序缓存用作临时存储吗?
对此有任何建议将非常感激.
您可以使用ngx-logger
NGX Logger是一个简单的角度记录模块(目前支持角度为4.3+).它允许对控制台进行"漂亮打印",并允许将日志消息发布到用于服务器端日志记录的URL.
安装
npm install --save ngx-logger
安装完成后,您需要导入我们的主模块:
import { LoggerModule, NgxLoggerLevel } from 'ngx-logger';
唯一剩下的部分是在应用程序模块中列出导入的模块,传入配置以初始化记录器.
@NgModule({ declarations: [AppComponent, ...], imports: [LoggerModule.forRoot({serverLoggingUrl: '/api/logs', level: NgxLoggerLevel.DEBUG, serverLogLevel: NgxLoggerLevel.ERROR}), ...], bootstrap: [AppComponent] }) export class AppModule { }
用法
要使用Logger,您需要在本地导入它,然后调用其中一个日志记录功能
import { Component } from '@angular/core'; import { NGXLogger } from 'ngx-logger'; @Component({ selector: 'your-component', templateUrl: './your.component.html', styleUrls: ['your.component.less'], providers: [NGXLogger] }) export class YourComponent { constructor(private logger: NGXLogger) { this.logger.debug('Your log message goes here'); this.logger.debug('Multiple', 'Argument', 'support'); }; }
配置选项
serverLogLevel - 仅将日志发送到指定级别或更高级别的服务器(OFF禁用服务器的记录器)serverLoggingUrl - POST日志级别的URL:应用程序将仅记录该级别或更高级别的消息(OFF禁用客户端的记录器)enableDarkTheme:将默认颜色设置为白色而不是黑色TRACE | DEBUG | INFO | LOG | WARN | ERROR | OFF服务器端日志记录
如果serverLogginUrl存在,NGX Logger将尝试将该日志POST到服务器.
有效负载示例{level:'DEBUG',消息:'您的日志消息在这里'}
您也可以阅读相同的文档. https://www.npmjs.com/package/ngx-logger