@arkitektum/client-logger
Advanced tools
Comparing version 1.0.2 to 1.0.3
@@ -167,3 +167,3 @@ "use strict"; | ||
ClientLogger.prototype.postLogData = function (logMessages) { | ||
var _a; | ||
var _a, _b; | ||
var logData = (_a = new LogData(this.appName, this.sessionId, logMessages)) === null || _a === void 0 ? void 0 : _a.logMessages; | ||
@@ -177,3 +177,8 @@ var fetchOptions = { | ||
}; | ||
fetch(this.logApiUrl, fetchOptions); | ||
if (!!((_b = this.logApiUrl) === null || _b === void 0 ? void 0 : _b.length)) { | ||
fetch(this.logApiUrl, fetchOptions); | ||
} | ||
else { | ||
console.warn("Missing value for logApiUrl"); | ||
} | ||
}; | ||
@@ -180,0 +185,0 @@ return ClientLogger; |
{ | ||
"name": "@arkitektum/client-logger", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "types": "./lib/cjs/types/index.d.ts", |
118
README.md
@@ -1,1 +0,117 @@ | ||
# client-logger | ||
# ClientLogger | ||
## Installation | ||
With Yarn: | ||
``` | ||
yarn add @arkitektum/client-logger | ||
``` | ||
With npm: | ||
``` | ||
npm install @arkitektum/client-logger | ||
``` | ||
## Getting started | ||
### Using client-logger in a React app | ||
index.js: | ||
```js | ||
import React from "react"; | ||
import ReactDOM from "react-dom/client"; | ||
import { ClientLogger } from "@arkitektum/client-logger"; | ||
import App from "App"; | ||
const apiUrl = "https://url.to.api"; | ||
const sourceMapUrl = `${document.currentScript.src}.map`; | ||
const appName = "Application name"; | ||
ClientLogger.create(apiUrl, sourceMapUrl, appName).then((clientLogger) => { | ||
const root = ReactDOM.createRoot(document.getElementById("root")); | ||
root.render(<App clientLogger={clientLogger} />); | ||
}); | ||
``` | ||
### Using client-logger with the Fetch API | ||
```js | ||
let logMessage; | ||
fetch(apiUrl, fetchOptions) | ||
.then((res) => { | ||
response = res; | ||
logMessage = { | ||
statuscode: response?.status, | ||
path: response?.url | ||
}; | ||
return res.json(); | ||
}) | ||
.then((fetchedData) => { | ||
const logMessages = []; | ||
if (!fetchedData?.arrayWithStuff?.length) { | ||
logMessages.push({ | ||
...logMessage, | ||
level: "Warning", | ||
message: "No stuff in array" | ||
}); | ||
} | ||
if (!fetchedData?.valueThatShouldBeTrue) { | ||
logMessages.push({ | ||
...logMessage, | ||
level: "Warning", | ||
message: "Value that should be true is not true" | ||
}); | ||
} | ||
!!clientLogger.length && clientLogger.postLogData(logMessages); | ||
return fetchedData; | ||
}) | ||
.catch((error) => { | ||
logMessage = { | ||
level: "Error", | ||
path: apiUrl | ||
}; | ||
clientLogger.getLogMessageFromError(error, logMessage).then((logMessage) => { | ||
clientLogger.postLogData([logMessage]); | ||
}); | ||
}); | ||
``` | ||
## ClientLogger class | ||
```ts | ||
interface LogMessage { | ||
appName?: string; | ||
sessionId?: string; | ||
clientInfo?: object; | ||
level?: string; | ||
message?: string; | ||
originalPosition?: { | ||
column: number; | ||
line: number; | ||
name: string; | ||
source: string; | ||
}; | ||
path?: string; | ||
stackTrace?: string; | ||
statuscode?: string; | ||
correlationId?: string; | ||
} | ||
declare class ClientLogger { | ||
logApiUrl: string; | ||
sourceMapUrl: string; | ||
sourceMapJson: string; | ||
appName: string; | ||
sessionId: string; | ||
constructor(logApiUrl: string, sourceMapJson: string, appName: string); | ||
private getSessionId; | ||
static create(logApiUrl: string, sourceMapUrl: string, appName: string): Promise<ClientLogger>; | ||
getLogMessageFromError(error: Error, logMessageProps: LogMessage): Promise<LogMessage>; | ||
postLogData(logMessages: Array<LogMessage>): void; | ||
} | ||
``` |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
22989
375
118