feat: enhance logging capabilities with configurable logger
This commit is contained in:
parent
e548beb8c9
commit
d8c3bbf6b6
2 changed files with 8 additions and 6 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
import { AxiosRequestConfig } from "axios";
|
import { AxiosRequestConfig } from "axios";
|
||||||
|
import { Logger } from "lhisp-logger";
|
||||||
|
|
||||||
export interface Headers {
|
export interface Headers {
|
||||||
[name: string]: any;
|
[name: string]: any;
|
||||||
|
|
@ -23,6 +24,7 @@ export interface LhispOauthClientConstructorParams {
|
||||||
formatAccessToken?: (accessToken?: AccessToken) => string;
|
formatAccessToken?: (accessToken?: AccessToken) => string;
|
||||||
debug?: boolean;
|
debug?: boolean;
|
||||||
timeout?: number;
|
timeout?: number;
|
||||||
|
logger?: Logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ExecutarRequestParams extends AxiosRequestConfig {
|
export interface ExecutarRequestParams extends AxiosRequestConfig {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import axios, { AxiosHeaders, AxiosRequestConfig } from "axios";
|
import axios, { AxiosHeaders, AxiosRequestConfig } from "axios";
|
||||||
import https from "https";
|
import https from "https";
|
||||||
import lhLogger from "lhisp-logger";
|
import logger, { Logger } from "lhisp-logger";
|
||||||
import qs from "querystring";
|
import qs from "querystring";
|
||||||
import {
|
import {
|
||||||
AccessToken,
|
AccessToken,
|
||||||
|
|
@ -13,8 +13,6 @@ import {
|
||||||
LhispOauthClientConstructorParams,
|
LhispOauthClientConstructorParams,
|
||||||
} from "./lhisp-oauth-client.t";
|
} from "./lhisp-oauth-client.t";
|
||||||
|
|
||||||
const logger = lhLogger({ name: "lhisp-oauth-client" });
|
|
||||||
|
|
||||||
export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
|
export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
|
||||||
protected authUrl: string;
|
protected authUrl: string;
|
||||||
protected apiUrl: string;
|
protected apiUrl: string;
|
||||||
|
|
@ -38,6 +36,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
|
||||||
protected sendAuthCredentialsOnRequestBody?: boolean;
|
protected sendAuthCredentialsOnRequestBody?: boolean;
|
||||||
protected timeout: number;
|
protected timeout: number;
|
||||||
protected formatAccessToken?: (accessToken?: iAccessToken) => string;
|
protected formatAccessToken?: (accessToken?: iAccessToken) => string;
|
||||||
|
private logger: Logger;
|
||||||
|
|
||||||
constructor(params: LhispOauthClientConstructorParams) {
|
constructor(params: LhispOauthClientConstructorParams) {
|
||||||
if (params.certificado) {
|
if (params.certificado) {
|
||||||
|
|
@ -68,6 +67,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
|
||||||
this.sendAuthCredentialsOnRequestBody = params.sendAuthCredentialsOnRequestBody;
|
this.sendAuthCredentialsOnRequestBody = params.sendAuthCredentialsOnRequestBody;
|
||||||
this.formatAccessToken = params.formatAccessToken;
|
this.formatAccessToken = params.formatAccessToken;
|
||||||
this.timeout = params.timeout ? params.timeout : 60000;
|
this.timeout = params.timeout ? params.timeout : 60000;
|
||||||
|
this.logger = params.logger || logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
getAuthHeaderValue(): string {
|
getAuthHeaderValue(): string {
|
||||||
|
|
@ -131,7 +131,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
|
||||||
});
|
});
|
||||||
const resp = await axios.request(authRequestOpt);
|
const resp = await axios.request(authRequestOpt);
|
||||||
if (!resp?.data) {
|
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.");
|
throw new Error("Resposta inválida ao obter token de acesso.");
|
||||||
}
|
}
|
||||||
this.accessToken = this.buildAccessToken(resp.data);
|
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;
|
this.tokenExpiresIn = this.accessToken?.expires_in || this.tokenCreatedAt + 60000;
|
||||||
return this.accessToken;
|
return this.accessToken;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error({ message: "LhispOauthClient.getAccessToken", error });
|
this.logger.error({ message: "LhispOauthClient.getAccessToken", error });
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -192,7 +192,7 @@ export class LhispOauthClient<iAccessToken extends AccessToken = AccessToken> {
|
||||||
|
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error({
|
this.logger.error({
|
||||||
message: "LhispOauthClient.executarRequest",
|
message: "LhispOauthClient.executarRequest",
|
||||||
method,
|
method,
|
||||||
url: `${this.apiUrl}${path}`,
|
url: `${this.apiUrl}${path}`,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue