New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@polywrap/logger-plugin-js

Package Overview
Dependencies
Maintainers
2
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@polywrap/logger-plugin-js - npm Package Compare versions

Comparing version 0.10.0-pre.5 to 0.10.0-pre.6

build/__tests__/e2e/e2e.spec.d.ts

4

build/index.d.ts

@@ -1,4 +0,4 @@

import { Module, Args_log, Logger_LogLevel } from "./wrap";
import { Module, Args_log, Logger_Logger_LogLevel as Logger_LogLevel } from "./wrap";
import { PluginFactory } from "@polywrap/plugin-js";
export declare type LogFunc = (level: Logger_LogLevel, message: string) => boolean;
export declare type LogFunc = (level: Logger_LogLevel, message: string) => void;
export interface LoggerPluginConfig {

@@ -5,0 +5,0 @@ logFunc?: LogFunc;

@@ -26,19 +26,20 @@ "use strict";

if (this.config.logFunc) {
return this.config.logFunc(args.level, args.message);
this.config.logFunc(args.level, args.message);
return true;
}
switch (args.level) {
case "DEBUG":
case wrap_1.Logger_LogLevelEnum.DEBUG:
case wrap_1.Logger_Logger_LogLevelEnum.DEBUG:
console.debug(args.message);
break;
case "WARN":
case wrap_1.Logger_LogLevelEnum.WARN:
case wrap_1.Logger_Logger_LogLevelEnum.WARN:
console.warn(args.message);
break;
case "ERROR":
case wrap_1.Logger_LogLevelEnum.ERROR:
case wrap_1.Logger_Logger_LogLevelEnum.ERROR:
console.error(args.message);
break;
case "INFO":
case wrap_1.Logger_LogLevelEnum.INFO:
case wrap_1.Logger_Logger_LogLevelEnum.INFO:
console.log(args.message);

@@ -45,0 +46,0 @@ break;

@@ -5,3 +5,3 @@ import * as Types from "./types";

export interface Args_log {
level: Types.Logger_LogLevel;
level: Types.Logger_Logger_LogLevel;
message: Types.String;

@@ -8,0 +8,0 @@ }

@@ -17,3 +17,3 @@ import * as Types from "./";

export declare type Boolean = boolean;
export declare enum Logger_LogLevelEnum {
export declare enum Logger_Logger_LogLevelEnum {
DEBUG = 0,

@@ -24,6 +24,6 @@ INFO = 1,

}
export declare type Logger_LogLevelString = "DEBUG" | "INFO" | "WARN" | "ERROR";
export declare type Logger_LogLevel = Logger_LogLevelEnum | Logger_LogLevelString;
interface Logger_Module_Args_log {
level: Types.Logger_LogLevel;
export declare type Logger_Logger_LogLevelString = "DEBUG" | "INFO" | "WARN" | "ERROR";
export declare type Logger_Logger_LogLevel = Logger_Logger_LogLevelEnum | Logger_Logger_LogLevelString;
export interface Logger_Module_Args_log {
level: Types.Logger_Logger_LogLevel;
message: Types.String;

@@ -34,2 +34,1 @@ }

};
export {};

@@ -41,3 +41,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger_Module = exports.Logger_LogLevelEnum = void 0;
exports.Logger_Module = exports.Logger_Logger_LogLevelEnum = void 0;
/// Env START ///

@@ -50,11 +50,11 @@ /// Env END ///

/// Imported Objects START ///
/* URI: "ens/logger.core.polywrap.eth" */
var Logger_LogLevelEnum;
(function (Logger_LogLevelEnum) {
Logger_LogLevelEnum[Logger_LogLevelEnum["DEBUG"] = 0] = "DEBUG";
Logger_LogLevelEnum[Logger_LogLevelEnum["INFO"] = 1] = "INFO";
Logger_LogLevelEnum[Logger_LogLevelEnum["WARN"] = 2] = "WARN";
Logger_LogLevelEnum[Logger_LogLevelEnum["ERROR"] = 3] = "ERROR";
})(Logger_LogLevelEnum = exports.Logger_LogLevelEnum || (exports.Logger_LogLevelEnum = {}));
/* URI: "ens/logger.core.polywrap.eth" */
/* URI: "ens/wrappers.polywrap.eth:logger@1.0.0" */
var Logger_Logger_LogLevelEnum;
(function (Logger_Logger_LogLevelEnum) {
Logger_Logger_LogLevelEnum[Logger_Logger_LogLevelEnum["DEBUG"] = 0] = "DEBUG";
Logger_Logger_LogLevelEnum[Logger_Logger_LogLevelEnum["INFO"] = 1] = "INFO";
Logger_Logger_LogLevelEnum[Logger_Logger_LogLevelEnum["WARN"] = 2] = "WARN";
Logger_Logger_LogLevelEnum[Logger_Logger_LogLevelEnum["ERROR"] = 3] = "ERROR";
})(Logger_Logger_LogLevelEnum = exports.Logger_Logger_LogLevelEnum || (exports.Logger_Logger_LogLevelEnum = {}));
/* URI: "ens/wrappers.polywrap.eth:logger@1.0.0" */
exports.Logger_Module = {

@@ -64,3 +64,3 @@ log: function (args, client) { return __awaiter(void 0, void 0, void 0, function () {

return [2 /*return*/, client.invoke({
uri: "ens/logger.core.polywrap.eth",
uri: "ens/wrappers.polywrap.eth:logger@1.0.0",
method: "log",

@@ -67,0 +67,0 @@ args: args,

@@ -5,3 +5,3 @@ "use strict";

exports.manifest = {
name: "Logger",
name: "logger-plugin",
type: "plugin",

@@ -20,5 +20,5 @@ version: "0.1",

"namespace": "Logger",
"nativeType": "LogLevel",
"type": "Logger_LogLevel",
"uri": "ens/logger.core.polywrap.eth"
"nativeType": "Logger_LogLevel",
"type": "Logger_Logger_LogLevel",
"uri": "ens/wrappers.polywrap.eth:logger@1.0.0"
}

@@ -38,3 +38,3 @@ ],

"required": true,
"type": "Logger_LogLevel"
"type": "Logger_Logger_LogLevel"
},

@@ -44,3 +44,3 @@ "kind": 34,

"required": true,
"type": "Logger_LogLevel"
"type": "Logger_Logger_LogLevel"
},

@@ -81,3 +81,3 @@ {

"type": "Logger_Module",
"uri": "ens/logger.core.polywrap.eth"
"uri": "ens/wrappers.polywrap.eth:logger@1.0.0"
}

@@ -91,3 +91,3 @@ ],

{
"type": "Logger_LogLevel"
"type": "Logger_Logger_LogLevel"
}

@@ -110,3 +110,3 @@ ],

"required": true,
"type": "Logger_LogLevel"
"type": "Logger_Logger_LogLevel"
},

@@ -116,3 +116,3 @@ "kind": 34,

"required": true,
"type": "Logger_LogLevel"
"type": "Logger_Logger_LogLevel"
},

@@ -119,0 +119,0 @@ {

{
"name": "@polywrap/logger-plugin-js",
"description": "Polywrap Javascript Logger Plugin",
"description": "Logger plugin wrapper, for use with the JS Polywrap client.",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/polywrap/monorepo.git"
"url": "https://github.com/polywrap/logging.git"
},

@@ -12,22 +12,20 @@ "files": [

],
"version": "0.10.0-pre.5",
"version": "0.10.0-pre.6",
"main": "build/index.js",
"scripts": {
"build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json",
"codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap codegen",
"lint": "eslint --color -c ../../../../.eslintrc.js src/",
"build": "rimraf ./build && yarn codegen && tsc",
"codegen": "polywrap codegen",
"test": "jest --passWithNoTests --runInBand --verbose",
"test:ci": "jest --passWithNoTests --runInBand --verbose",
"test:watch": "jest --watch --passWithNoTests --verbose"
"publish:npm": "yarn publish --access public --non-interactive --verbose"
},
"dependencies": {
"@polywrap/core-js": "0.10.0-pre.5",
"@polywrap/plugin-js": "0.10.0-pre.5"
"@polywrap/core-js": "0.10.0-pre.6",
"@polywrap/plugin-js": "0.10.0-pre.6"
},
"devDependencies": {
"@polywrap/client-js": "0.10.0-pre.5",
"@polywrap/uri-resolvers-js": "0.10.0-pre.5",
"@polywrap/client-js": "0.10.0-pre.6",
"@polywrap/uri-resolvers-js": "0.10.0-pre.6",
"@types/jest": "26.0.8",
"@types/prettier": "2.6.0",
"jest": "26.6.3",
"polywrap": "0.10.0-pre.6",
"rimraf": "3.0.2",

@@ -38,3 +36,2 @@ "ts-jest": "26.5.4",

},
"gitHead": "7346adaf5adb7e6bbb70d9247583e995650d390a",
"publishConfig": {

@@ -41,0 +38,0 @@ "access": "public"

# @polywrap/logger-plugin-js
The Logger plugin implements the `logger-interface` @ [ens/wrappers.polywrap.eth:logger@1.0.0](https://app.ens.domains/name/wrappers.polywrap.eth/details) (see [./src/schema.graphql](./src/schema.graphql)). By default, it logs all events using the Javascript `console` global object. You can circumvent this functionality by setting the `logFunc` property on the plugin's config (examples below).
Console Logger plugin implements the `wrap://ens/logger.core.polywrap.eth` core Polywrap interface. By default it logs all events using the Javascript `console` module. Different logging mechanisms can be set using the `LoggerConfig`.
## Usage
### 1. Configure Client
When creating your Polywrap JS client, add the logger plugin:
```typescript
import { PolywrapClient } from "@polywrap/client-js";
import { loggerPlugin } from "@polywrap/logger-plugin-js";
## Log levels
const client = new PolywrapClient({
// 1. Add the plugin package @ an arbitrary URI
packages: [{
uri: "plugin/logger",
package: loggerPlugin({ })
}],
// 2. Register this plugin as an implementation of the interface
interfaces: [{
interface: "ens/wrappers.polywrap.eth:logger@1.0.0",
implementations: ["plugin/logger"]
}],
// 3. Redirect invocations @ the interface to the plugin (default impl)
redirects: [{
from: "ens/wrappers.polywrap.eth:logger@1.0.0",
to: "plugin/logger",
}]
});
```
- DEBUG
- INFO
- WARN
- ERROR
### 2. Invoke The Logger
Invocations to the logger plugin can be made via the interface URI (which will get redirected), or the plugin's URI directly:
```typescript
await client.invoke({
uri: "ens/wrappers.polywrap.eth:logger@1.0.0" | "plugin/logger",
method: "log",
args: {
level: "INFO",
message: "foo bar baz"
}
});
```
## Example
### 3. Customize The Logger
When adding the logger to your client, you can add your own custom log function:
```typescript
new PolywrapClient({
packages: [{
uri: "plugin/logger",
package: loggerPlugin({
logFunc: (level: string, message: string): void => {
// add your own logic here...
}
})
}],
...
})
```
```ts
import { loggerPlugin, LogLevel } from "@polywrap/logger-plugin-js";
### 4. Add Multiple Loggers
Multiple logger implementations can be added to the client:
```typescript
const client = new PolywrapClient({
plugins: [{
from: "wrap://ens/js-logger.polywrap.eth",
to: loggerPlugin()
packages: [
{
uri: "plugin/logger",
package: loggerPlugin({ })
},
{
uri: "plugin/custom-logger",
package: loggerPlugin({ logFunc: ... })
}
],
redirects: [{
from: "ens/wrappers.polywrap.eth:logger@1.0.0",
to: "plugin/logger"
}],
interfaces: [{
interface: "wrap://ens/logger.core.polywrap.eth",
implementations: ["wrap://ens/js-logger.polywrap.eth"],
interface: "ens/wrappers.polywrap.eth:logger@1.0.0",
implementations: ["plugin/logger", "plugin/custom-logger"]
}]
});
```
// For custom logging logic, initialize the logger like so:
// loggerPlugin((level: LogLevel, message: string) => { ... })
### 5. Invoke All Logger Implementations
When you'd like to log something to more than one logger, you can invoke all implementations of the logger interface:
```typescript
const result = await client.getImplementations(
"ens/wrappers.polywrap.eth:logger@1.0.0"
);
const response = await client.query<{ log: boolean }>({
uri: "wrap://ens/js-logger.polywrap.eth",
query: `
query {
log(
level: ${LogLevel.INFO}
message: "Informational message"
)
const implementations: string[] = result.ok ? result.value : [];
for (const impl of implementations) {
await client.invoke({
uri: impl,
method: "log",
args: {
level: "INFO",
message: "message"
}
`
});
});
}
```

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc