简体   繁体   English

NGX Logger Server-Side Logging in Angular 8 + Asp.net WEB API 2 allways return Timestamp:0, FileName = main.js & LineNumber from main.js

[英]NGX Logger Server-Side Logging in Angular 8 + Asp.net WEB API 2 allways return Timestamp:0, FileName = main.js & LineNumber from main.js

I am working in Angular 8 & Asp.net WebApi 2. Angular i am calling logger in ErrorHandlerService我在 Angular 8 & Asp.net WebApi 2 工作。Angular 我在 ErrorHandlerService 中调用记录器

    import { ErrorHandler, Injectable, Injector } from '@angular/core';
    import { AppConfigService } from '@core/app-config/app.config.service';
    import { NGXLogger } from 'ngx-logger';
    @Injectable()
    export class ErrorHandlerService implements ErrorHandler {
      constructor(private injector: Injector, private logger: NGXLogger) { 
       }
      handleError(error: any): void {
        this.logger.error(error);
      }
    }
    // Registering in App module -->
      LoggerModule.forRoot({serverLoggingUrl: '/api/loggs/client', level: NgxLoggerLevel.DEBUG, serverLogLevel: NgxLoggerLevel.DEBUG}),
     ],
      providers: [

        { provide: ErrorHandler, useClass: ErrorHandlerService }

      ],

  \\ Server side coding :


    public class LogPayload
        {
            public LogLevelEnum Level { get; set; }
            public double Timestamp { get; set; }
            public string FileName { get; set; }
            public string LineNumber { get; set; }
            public string Message { get; set; }

        } 

            [Route("api/loggs/client")]
            [HttpPost]
            public void LogClient(LogPayload log)
            {
                 _Service.RegisterLog(log);
            }

     public void RegisterLog(LogPayload log)
            {
                // read log details
                log file deatils:
                log.FileName :main.js
                log.Level = Error
                log.LineNumber = 18494
                log.Message ="Http failure response" 

             }

Not sure how to get component name instead of main.js with line number from Angular component?不确定如何从 Angular 组件获取组件名称而不是 main.js 行号? and also Timestamp always return 0. Do we have to use export class NGXLogInterface { level: NgxLoggerLevel;而且 Timestamp 总是返回 0。我们是否必须使用 export class NGXLogInterface { level: NgxLoggerLevel; timestamp: string;时间戳:字符串; fileName: string;文件名:字符串; lineNumber: string;行号:字符串; message: string;消息:字符串; additional: any[];附加:任何[]; } in Angular to pass each items in post request?在 Angular 中传递 post 请求中的每个项目? There is no much documentation for server logging.没有太多关于服务器日志的文档。 Any help would be great.任何帮助都会很棒。

You need to specify components by own or create generic methods.您需要自己指定组件或创建通用方法。 because when logs generate it create.js file.因为当日志生成它时 create.js 文件。

Change Property of TimeStamp to string.将 TimeStamp 的属性更改为字符串。 then you can parse it to Datetime.然后您可以将其解析为日期时间。

 [HttpPost] public IActionResult Post([FromBody] LogDto dto) { var msg = $"MESSAGE: {dto.Message} - " + $"FILE: {dto.FileName} - " + $"LEVEL: {dto.Level} - " + $"LINENUMBER: {dto.LineNumber} - " + $"TIMESTAMP: {dto.Timestamp}" + _logger.LogError(msg); return Ok(); }

You need to set enableSourceMaps to true in logger config您需要在记录器配置中将enableSourceMaps设置为 true

Be careful, for this to work you need to generate source maps when building请注意,要使其正常工作,您需要在构建时生成源映射

More info in the doc: https://github.com/dbfannin/ngx-logger/blob/master/docs/features.md文档中的更多信息: https://github.com/dbfannin/ngx-logger/blob/master/docs/features.md

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 带有Angular 2 main.js路径错误的Asp.net Core - Asp.net Core with Angular 2 main.js Path Error 使用控制器名称和动作名称main.js时,asp.net核心出现Angular 2安装问题 - Angular 2 setup issue with asp.net core while using controller name and action name main.js not found 如何从jQuery对象文字中正确调用服务器端ASP.NET并将数据返回到jQuery - How to properly call server-side ASP.NET from jQuery object literal and return data to jQuery 从ASP.NET服务器端代码访问网络摄像头api错误 - Webcam api error when accessed from ASP.NET Server-side code 从主Web应用程序自动登录到另一个ASP.NET应用程序 - Auto logging in to another ASP.NET Application from main Web Application ASP.NET服务器端Javascript - ASP.NET Server-Side Javascript 从Angular JS将POST的复杂表单数据绑定到ASP.Net Web API 2时出现问题 - Issue while binding the POSTed complex form data from Angular JS to ASP.Net Web API 2 javascript客户端向asp.net服务器端返回值 - javascript client-side return value to asp.net server-side ASP.NET中的服务器端注释(HTML端) - Server-side commenting in asp.net (HTML side) ASP.NET-从iframe返回值到主页 - ASP.NET - return value from iframe to main page
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM