feat: enhance logging capabilities with configurable logger

This commit is contained in:
Leandro Costa 2026-01-24 10:54:19 -03:00
parent e548beb8c9
commit d8c3bbf6b6
2 changed files with 8 additions and 6 deletions

View file

@ -1,4 +1,5 @@
import { AxiosRequestConfig } from "axios";
import { Logger } from "lhisp-logger";
export interface Headers {
[name: string]: any;
@ -23,6 +24,7 @@ export interface LhispOauthClientConstructorParams {
formatAccessToken?: (accessToken?: AccessToken) => string;
debug?: boolean;
timeout?: number;
logger?: Logger;
}
export interface ExecutarRequestParams extends AxiosRequestConfig {

View file

@ -1,6 +1,6 @@
import axios, { AxiosHeaders, AxiosRequestConfig } from "axios";
import https from "https";
import lhLogger from "lhisp-logger";
import logger, { Logger } from "lhisp-logger";
import qs from "querystring";
import {
AccessToken,
@ -13,8 +13,6 @@ import {
LhispOauthClientConstructorParams,
} from "./lhisp-oauth-client.t";
const logger = lhLogger({ name: "lhisp-oauth-client" });
export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
protected authUrl: string;
protected apiUrl: string;
@ -38,6 +36,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
protected sendAuthCredentialsOnRequestBody?: boolean;
protected timeout: number;
protected formatAccessToken?: (accessToken?: iAccessToken) => string;
private logger: Logger;
constructor(params: LhispOauthClientConstructorParams) {
if (params.certificado) {
@ -68,6 +67,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
this.sendAuthCredentialsOnRequestBody = params.sendAuthCredentialsOnRequestBody;
this.formatAccessToken = params.formatAccessToken;
this.timeout = params.timeout ? params.timeout : 60000;
this.logger = params.logger || logger;
}
getAuthHeaderValue(): string {
@ -131,7 +131,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
});
const resp = await axios.request(authRequestOpt);
if (!resp?.data) {
logger.error({ message: "LhispOauthClient.getAccessToken", resp });
this.logger.error({ message: "LhispOauthClient.getAccessToken", resp });
throw new Error("Resposta inválida ao obter token de acesso.");
}
this.accessToken = this.buildAccessToken(resp.data);
@ -139,7 +139,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
this.tokenExpiresIn = this.accessToken?.expires_in || this.tokenCreatedAt + 60000;
return this.accessToken;
} catch (error) {
logger.error({ message: "LhispOauthClient.getAccessToken", error });
this.logger.error({ message: "LhispOauthClient.getAccessToken", error });
throw error;
}
}
@ -192,7 +192,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
return response.data;
} catch (error) {
logger.error({
this.logger.error({
message: "LhispOauthClient.executarRequest",
method,
url: `${this.apiUrl}${path}`,