import { a as n, f as s, b as o } from './chunk-2SR2TPRO.cjs'; import { SmpLoggerService, SmpLoggingLevels, smpNoop, SmpLoggerMethods } from '@tonysamperi/logger'; import { createLogger, format } from 'winston'; import TransportStream from 'winston-transport'; import { Injectable } from '@nestjs/common'; var l=class l extends SmpLoggerService{static get DEFAULT_TRANSPORTS(){return {CONSOLE:new TransportStream({log:n((e,t)=>{let{message:s,...r}=e;(console[e.level]||console.log).apply(console,[s,Object.fromEntries(Object.entries(r).map(o=>o))].filter(Boolean)),t();},"log")})}}get staticSelf(){return this.constructor}constructor(e){super(e);}static create(e,t=[this.DEFAULT_TRANSPORTS.CONSOLE]){return this._enabledTransports=t,this.init({...e,enablePreprocessing:true,enableSessionId:false})}preprocessArgs(e,...t){let s=new Date;return [`${s.toISOString()} - ${t.shift()}`.trim(),...t.map(r=>({tags:[this._appName,e],timestamp:+s,metadata:this.filterSensitiveData(r)}))]}_updateLevel(e=SmpLoggingLevels.WARN){this.staticSelf.describe().forEach(t=>{this[t]=smpNoop;}),this.staticSelf._level=e,this.staticSelf._winstonLogger||(this.staticSelf._winstonLogger=createLogger({level:"debug",exitOnError:false,format:format.json(),transports:this.staticSelf._enabledTransports})),this._setup(this.staticSelf._winstonLogger);}};n(l,"SmpWinstonLogger"),s(l,"_enabledTransports",[]),s(l,"_winstonLogger");var p=l;var _=class _ extends TransportStream{_axiosInstance;_bodyAddons;_cancelTokenSource;_closed=false;_isAxiosCancel;_url;constructor(e={}){super(e);let{url:t,path:s,timeout:r=5e3,headers:o$1={},...a}=e,n=o("axios");this._isAxiosCancel=n.isCancel,this._cancelTokenSource=n.CancelToken.source(),this._axiosInstance=n.create({...a,timeout:r,headers:{"Content-Type":"application/json",...o$1}}),this._url=`${t}${s}`;}close(e){var t;this._closed=true,this._cancelTokenSource.cancel("Transport closed"),(t=super.close)==null||t.call(this),e&&setImmediate(e);}log(e,t){if(this._closed){t();return}this._bodyAddons&&(e={...e,...this._bodyAddons}),this._axiosInstance.post(this._url,e,{cancelToken:this._cancelTokenSource.token}).then(()=>{this.emit("logged",e);}).catch(s=>{var r,o;this._isAxiosCancel(s)||this.emit("warn",{message:s.message||"Unknown error",code:s.code,status:(r=s.response)==null?void 0:r.status,statusText:(o=s.response)==null?void 0:o.statusText,url:this._url,timestamp:new Date().toISOString()});}),setImmediate(t);}};n(_,"SmpWinstonAxiosTransport");var h=_;function R(c,e,t,s){var r=arguments.length,o=r<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(c,e,t,s);else for(var n=c.length-1;n>=0;n--)(a=c[n])&&(o=(r<3?a(o):r>3?a(e,t,o):a(e,t))||o);return r>3&&o&&Object.defineProperty(e,t,o),o}n(R,"_ts_decorate");function g(c,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(c,e)}n(g,"_ts_metadata");var f=class f extends SmpLoggerMethods{get _loggerOpts(){return {level:+(this._level||SmpLoggingLevels.OFF)}}get _searchParams(){return new URLSearchParams}_host="www.example.com";_level;_logger;_path="/logs";constructor(){super();}_init(){this._logger=p.create(this._loggerOpts,[p.DEFAULT_TRANSPORTS.CONSOLE,new h({url:`https://${this._host}`,path:`${this._path}?${this._searchParams}`})]),SmpLoggerService.describe().forEach(e=>{this[e]=(...t)=>{this._logger[e](...t);};});}};n(f,"SmpWinstonLoggerService");var u=f;u=R([Injectable(),g("design:type",Function),g("design:paramtypes",[])],u); export { p as a, h as b, u as c };