0.0.26 • Published 3 years ago

@lucas54neves/logflare v0.0.26

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Logflare npm package

Pacote do npm para padronização do registro dos logs usando o Logflare.

Como usar

Importação

import { registerLogs, buildMetadataFromHeaders } from '@lucas54neves/logflare'

Parâmetros

Ao se chamar a função registerLogs, deve-se passar por parâmetro um objeto com o seguinte formato:

{
  credentials: {
    sourceKey: string
    apiKey: string
  }
  request?: {
    method: string
    url: string
    userAgent: string | null
    host: string | null
    cfRay: string | null
    cfConnnectingIp: string | null
    cf: IncomingRequestCfProperties
    metadata: object
    body?: any
  }
  response?: {
    metadata: object
    statusCode: number
    responseTime?: number
    body: any
  }
  message: string
}

No atributo credentials do objeto parâmetro da função, são armazenadas informações relativa à chave do source e a chave da API do Logflare, onde os logs serão armazenados. No atributo request (opcional), são armazenadas informações relativas à requisição que deseja realizar. No atributo response (opcional), informações relativas à resposta da requisição que foi realizadasão armazenadas. No atributo message, a mensagem que aparecerá no log é armazenada.

Para criar o request.metadata, deve-se utilizar a função buildMetadataFromHeaders, passando por parâmetro o headers da Request. O mesmo deve ser feito para criar o response.metadata.

const someRequest = new Request('http://localhost/api', {method: 'POST', body: '{"foo":"bar"}'})

const metadata = buildMetadataFromHeaders(someRequest.headers)
const someResponse = new Response('http://localhost/api', {body: '{"foo":"bar"}'})

const metadata = buildMetadataFromHeaders(someResponse.headers)

Exemplo de uso

import { registerLogs, buildMetadataFromHeaders } from '@lucas54neves/logflare'

const request = await someFunctionThatReturnsARequest()

const requestBody = await request.json()

const requestData = {
  method: request.method,
  url: request.url,
  userAgent: request.headers.get("user-agent"),
  host: request.headers.get("host"),
  cfRay: request.headers.get("cf-ray"),
  cfConnnectingIp: request.headers.get("cf-connecting-ip"),
  cf: request.cf,
  metadata: buildMetadataFromHeaders(request.headers),
  body: requestBody
}

const begin = Date.now()

const response = await someFunctionThatReturnsAResponse()

const responseTime = Date.now() - begin

const responseData = {
  statusCode: response.status,
  metadata: buildMetadataFromHeaders(response.headers),
  body: data,
  responseTime
}

await registerLogs({
  credentials: {
    sourceKey: "123456789"
    apiKey: "456
  },
  request: requestData,
  response: responseData,
  message: 'This is a log'
})
0.0.26

3 years ago

0.0.20

3 years ago

0.0.21

3 years ago

0.0.22

3 years ago

0.0.23

3 years ago

0.0.24

3 years ago

0.0.25

3 years ago

0.0.15

3 years ago

0.0.16

3 years ago

0.0.17

3 years ago

0.0.18

3 years ago

0.0.19

3 years ago

0.0.14

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago

0.0.0

3 years ago