@hamak/logging 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +252 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +14 -0
- package/dist/api/interfaces/index.d.ts +4 -0
- package/dist/api/interfaces/index.d.ts.map +1 -0
- package/dist/api/interfaces/index.js +3 -0
- package/dist/api/interfaces/logger.d.ts +105 -0
- package/dist/api/interfaces/logger.d.ts.map +1 -0
- package/dist/api/interfaces/logger.js +1 -0
- package/dist/api/interfaces/manager.d.ts +120 -0
- package/dist/api/interfaces/manager.d.ts.map +1 -0
- package/dist/api/interfaces/manager.js +1 -0
- package/dist/api/interfaces/transport.d.ts +97 -0
- package/dist/api/interfaces/transport.d.ts.map +1 -0
- package/dist/api/interfaces/transport.js +1 -0
- package/dist/api/tokens/index.d.ts +2 -0
- package/dist/api/tokens/index.d.ts.map +1 -0
- package/dist/api/tokens/index.js +1 -0
- package/dist/api/tokens/service-tokens.d.ts +51 -0
- package/dist/api/tokens/service-tokens.d.ts.map +1 -0
- package/dist/api/tokens/service-tokens.js +42 -0
- package/dist/api/types/index.d.ts +3 -0
- package/dist/api/types/index.d.ts.map +1 -0
- package/dist/api/types/index.js +2 -0
- package/dist/api/types/log-config.d.ts +72 -0
- package/dist/api/types/log-config.d.ts.map +1 -0
- package/dist/api/types/log-config.js +1 -0
- package/dist/api/types/log-entry.d.ts +64 -0
- package/dist/api/types/log-entry.d.ts.map +1 -0
- package/dist/api/types/log-entry.js +12 -0
- package/dist/impl/core/context-logger.d.ts +26 -0
- package/dist/impl/core/context-logger.d.ts.map +1 -0
- package/dist/impl/core/context-logger.js +102 -0
- package/dist/impl/core/index.d.ts +3 -0
- package/dist/impl/core/index.d.ts.map +1 -0
- package/dist/impl/core/index.js +2 -0
- package/dist/impl/core/log-manager.d.ts +41 -0
- package/dist/impl/core/log-manager.d.ts.map +1 -0
- package/dist/impl/core/log-manager.js +278 -0
- package/dist/impl/formatters/dev-formatter.d.ts +20 -0
- package/dist/impl/formatters/dev-formatter.d.ts.map +1 -0
- package/dist/impl/formatters/dev-formatter.js +145 -0
- package/dist/impl/formatters/index.d.ts +3 -0
- package/dist/impl/formatters/index.d.ts.map +1 -0
- package/dist/impl/formatters/index.js +2 -0
- package/dist/impl/formatters/json-formatter.d.ts +24 -0
- package/dist/impl/formatters/json-formatter.d.ts.map +1 -0
- package/dist/impl/formatters/json-formatter.js +70 -0
- package/dist/impl/index.d.ts +16 -0
- package/dist/impl/index.d.ts.map +1 -0
- package/dist/impl/index.js +19 -0
- package/dist/impl/plugin/index.d.ts +2 -0
- package/dist/impl/plugin/index.d.ts.map +1 -0
- package/dist/impl/plugin/index.js +1 -0
- package/dist/impl/plugin/logging-plugin-factory.d.ts +37 -0
- package/dist/impl/plugin/logging-plugin-factory.d.ts.map +1 -0
- package/dist/impl/plugin/logging-plugin-factory.js +112 -0
- package/dist/impl/transports/console-transport.d.ts +16 -0
- package/dist/impl/transports/console-transport.d.ts.map +1 -0
- package/dist/impl/transports/console-transport.js +55 -0
- package/dist/impl/transports/index.d.ts +2 -0
- package/dist/impl/transports/index.d.ts.map +1 -0
- package/dist/impl/transports/index.js +1 -0
- package/dist/impl/utils/console-interceptor.d.ts +36 -0
- package/dist/impl/utils/console-interceptor.d.ts.map +1 -0
- package/dist/impl/utils/console-interceptor.js +121 -0
- package/dist/impl/utils/event-emitter.d.ts +11 -0
- package/dist/impl/utils/event-emitter.d.ts.map +1 -0
- package/dist/impl/utils/event-emitter.js +44 -0
- package/dist/impl/utils/index.d.ts +3 -0
- package/dist/impl/utils/index.d.ts.map +1 -0
- package/dist/impl/utils/index.js +2 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/spi/formatter/formatter-provider.d.ts +67 -0
- package/dist/spi/formatter/formatter-provider.d.ts.map +1 -0
- package/dist/spi/formatter/formatter-provider.js +1 -0
- package/dist/spi/formatter/index.d.ts +2 -0
- package/dist/spi/formatter/index.d.ts.map +1 -0
- package/dist/spi/formatter/index.js +1 -0
- package/dist/spi/index.d.ts +12 -0
- package/dist/spi/index.d.ts.map +1 -0
- package/dist/spi/index.js +12 -0
- package/dist/spi/transport/index.d.ts +2 -0
- package/dist/spi/transport/index.d.ts.map +1 -0
- package/dist/spi/transport/index.js +1 -0
- package/dist/spi/transport/transport-provider.d.ts +89 -0
- package/dist/spi/transport/transport-provider.d.ts.map +1 -0
- package/dist/spi/transport/transport-provider.js +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ILogTransport, TransportConfig } from '../../api/index';
|
|
2
|
+
/**
|
|
3
|
+
* Transport Provider Interface
|
|
4
|
+
*
|
|
5
|
+
* Allows plugins to contribute custom log transports.
|
|
6
|
+
* Transport providers are factories that create and configure transports.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* export class MyTransportProvider implements ITransportProvider {
|
|
11
|
+
* readonly id = 'my-transport';
|
|
12
|
+
* readonly name = 'My Custom Transport';
|
|
13
|
+
*
|
|
14
|
+
* create(config?: MyTransportConfig): ILogTransport {
|
|
15
|
+
* return new MyTransport(config);
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* getDefaultConfig(): TransportConfig {
|
|
19
|
+
* return {
|
|
20
|
+
* id: this.id,
|
|
21
|
+
* enabled: true,
|
|
22
|
+
* minLevel: LogLevel.INFO,
|
|
23
|
+
* };
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* validateConfig(config: any): boolean {
|
|
27
|
+
* return typeof config.endpoint === 'string';
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export interface ITransportProvider {
|
|
33
|
+
/**
|
|
34
|
+
* Unique identifier for this transport provider
|
|
35
|
+
*/
|
|
36
|
+
readonly id: string;
|
|
37
|
+
/**
|
|
38
|
+
* Human-readable name
|
|
39
|
+
*/
|
|
40
|
+
readonly name: string;
|
|
41
|
+
/**
|
|
42
|
+
* Description of what this transport does
|
|
43
|
+
*/
|
|
44
|
+
readonly description?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Create a transport instance with the given configuration
|
|
47
|
+
*
|
|
48
|
+
* @param config Optional transport-specific configuration
|
|
49
|
+
* @returns A configured transport instance
|
|
50
|
+
*/
|
|
51
|
+
create(config?: any): ILogTransport;
|
|
52
|
+
/**
|
|
53
|
+
* Get the default configuration for this transport
|
|
54
|
+
* Used when no configuration is provided
|
|
55
|
+
*
|
|
56
|
+
* @returns Default TransportConfig
|
|
57
|
+
*/
|
|
58
|
+
getDefaultConfig?(): TransportConfig;
|
|
59
|
+
/**
|
|
60
|
+
* Validate transport-specific configuration
|
|
61
|
+
* Called before creating the transport
|
|
62
|
+
*
|
|
63
|
+
* @param config Configuration to validate
|
|
64
|
+
* @returns true if valid, false otherwise
|
|
65
|
+
*/
|
|
66
|
+
validateConfig?(config: any): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Get configuration schema for documentation/UI
|
|
69
|
+
* Optional - useful for generating config forms
|
|
70
|
+
*
|
|
71
|
+
* @returns JSON Schema or similar
|
|
72
|
+
*/
|
|
73
|
+
getConfigSchema?(): any;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Transport registration
|
|
77
|
+
* Used when plugins contribute transports
|
|
78
|
+
*/
|
|
79
|
+
export interface TransportRegistration {
|
|
80
|
+
/** The transport provider */
|
|
81
|
+
provider: ITransportProvider;
|
|
82
|
+
/** Transport configuration */
|
|
83
|
+
config?: TransportConfig;
|
|
84
|
+
/** Plugin that registered this transport */
|
|
85
|
+
plugin?: string;
|
|
86
|
+
/** Priority (higher = registered earlier) */
|
|
87
|
+
priority?: number;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=transport-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-provider.d.ts","sourceRoot":"","sources":["../../../src/spi/transport/transport-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC;IAEpC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,eAAe,CAAC;IAErC;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC;IAEtC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,GAAG,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hamak/logging",
|
|
3
|
+
"version": "0.5.1",
|
|
4
|
+
"description": "Pluggable logging system with API, SPI, and implementation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./api": {
|
|
15
|
+
"types": "./dist/api/index.d.ts",
|
|
16
|
+
"import": "./dist/api/index.js",
|
|
17
|
+
"default": "./dist/api/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./spi": {
|
|
20
|
+
"types": "./dist/spi/index.d.ts",
|
|
21
|
+
"import": "./dist/spi/index.js",
|
|
22
|
+
"default": "./dist/spi/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"typesVersions": {
|
|
26
|
+
"*": {
|
|
27
|
+
"api": [
|
|
28
|
+
"./dist/api/index.d.ts"
|
|
29
|
+
],
|
|
30
|
+
"spi": [
|
|
31
|
+
"./dist/spi/index.d.ts"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist"
|
|
37
|
+
],
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/amah/app-framework.git",
|
|
41
|
+
"directory": "packages/logging"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsc -p tsconfig.lib.json",
|
|
48
|
+
"clean": "rm -rf dist"
|
|
49
|
+
},
|
|
50
|
+
"keywords": [
|
|
51
|
+
"logging",
|
|
52
|
+
"microkernel",
|
|
53
|
+
"plugin"
|
|
54
|
+
],
|
|
55
|
+
"author": "",
|
|
56
|
+
"license": "MIT",
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@hamak/microkernel-api": "*",
|
|
59
|
+
"@hamak/microkernel-spi": "*"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"typescript": "^5.9.3",
|
|
63
|
+
"vitest": "^3.2.4"
|
|
64
|
+
}
|
|
65
|
+
}
|