我希望将记录引入angular2应用程序,并希望检查您可以推荐的任何好的库或方法.
记录要求是:
下面的要求将是很好的,任何与您可以分享的网络工作者的经验将不胜感激.
对此有任何建议将非常感激.
您可以使用ngx-logger
NGX Logger是一个简单的角度记录模块(目前支持角度为4.3+).它允许对控制台进行"漂亮打印",并允许将日志消息发布到用于服务器端日志记录的URL.
安装
npm install --save ngx-logger
安装完成后,您需要导入我们的主模块:
import { LoggerModule, NgxLoggerLevel } from 'ngx-logger';
Run Code Online (Sandbox Code Playgroud)
唯一剩下的部分是在应用程序模块中列出导入的模块,传入配置以初始化记录器.
@NgModule({
declarations: [AppComponent, ...],
imports: [LoggerModule.forRoot({serverLoggingUrl: '/api/logs', level: NgxLoggerLevel.DEBUG, serverLogLevel: NgxLoggerLevel.ERROR}), ...],
bootstrap: [AppComponent]
})
export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)
用法
要使用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');
};
}
Run Code Online (Sandbox Code Playgroud)
配置选项
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
我认为JSNLog部分符合您的要求(我是 JSNLog 的作者)。
JSNLog 由客户端库 jsnlog.js 和服务器端组件组成。客户端库通过 AJAX 请求将日志项发送到服务器端组件。一旦到达服务器,日志项就会存储在服务器端日志中。.Net 4.x版本使用Common.Logging,支持Log4Net、NLog、Elmah和Serilog日志。.Net Core版本支持Core日志记录框架。
将 JSNLog 功能与您的需求相匹配:
将有配置日志记录的选项,如信息、警告、错误、调试和详细。
JSNLog 支持 Log4Net 严重级别:Trace、Debug、Info、Warn、Error、Fatal。此外,您可以使用数字严重性级别,为您提供所需的多个严重性级别。
将能够将日志保存到本地存储中,然后在一定时间间隔后将日志同步到服务器端点
JSNLog 允许您将每条消息中可配置数量的日志项批量发送到服务器。它还支持设置任何消息在发送之前在缓冲区中停留的最长时间。
此外,JSNLog 允许您将低严重性的日志项存储在客户端内存中,并且仅在发送高严重性日志项时才将它们发送到服务器。例如,您可以在发生异常时记录跟踪事件,并且仅在发生异常时将它们发送到服务器并记录致命事件。
将能够支持Json格式并可以控制日志格式
JSNLog 允许您记录 JSON 对象。如果您在服务器上使用 Serilog,则可以将这些对象存储为对象而不是字符串。此外,您还可以在 jsnlog.js 上设置事件处理程序,以允许您修改传出日志项。
将日志记录功能构建为网络工作者就好了......
JSNLog 不是网络工作者。
| 归档时间: |
|
| 查看次数: |
24818 次 |
| 最近记录: |