{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.10",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/extension-logging!",
  "docComment": "",
  "name": "@loopback/extension-logging",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/extension-logging!",
      "name": "",
      "members": [
        {
          "kind": "Namespace",
          "canonicalReference": "@loopback/extension-logging!LoggingBindings:namespace",
          "docComment": "/**\n * Binding keys used by this component.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare namespace LoggingBindings "
            }
          ],
          "releaseTag": "Public",
          "name": "LoggingBindings",
          "members": [
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/extension-logging!LoggingBindings.COMPONENT:var",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "COMPONENT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "LoggingComponent",
                  "canonicalReference": "@loopback/extension-logging!LoggingComponent:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "COMPONENT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/extension-logging!LoggingBindings.FLUENT_SENDER:var",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "FLUENT_SENDER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "FluentSender",
                  "canonicalReference": "fluent-logger!~fluentLogger.FluentSender:class"
                },
                {
                  "kind": "Content",
                  "text": "<any>>"
                }
              ],
              "releaseTag": "Public",
              "name": "FLUENT_SENDER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/extension-logging!LoggingBindings.WINSTON_HTTP_ACCESS_LOGGER:var",
              "docComment": "/**\n * Binding key for http access logger with winston\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WINSTON_HTTP_ACCESS_LOGGER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "GenericInterceptor",
                  "canonicalReference": "@loopback/context!GenericInterceptor:type"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"@loopback/core\")."
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ">>"
                }
              ],
              "releaseTag": "Public",
              "name": "WINSTON_HTTP_ACCESS_LOGGER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 7
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/extension-logging!LoggingBindings.WINSTON_INVOCATION_LOGGER:var",
              "docComment": "/**\n * Binding key for method invocation logger with winston\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WINSTON_INVOCATION_LOGGER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "GenericInterceptor",
                  "canonicalReference": "@loopback/context!GenericInterceptor:type"
                },
                {
                  "kind": "Content",
                  "text": "<import(\"@loopback/core\")."
                },
                {
                  "kind": "Reference",
                  "text": "Context",
                  "canonicalReference": "@loopback/context!Context:class"
                },
                {
                  "kind": "Content",
                  "text": ">>"
                }
              ],
              "releaseTag": "Public",
              "name": "WINSTON_INVOCATION_LOGGER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 7
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/extension-logging!LoggingBindings.WINSTON_LOGGER:var",
              "docComment": "/**\n * Binding key for winston logger\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WINSTON_LOGGER: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "WinstonLogger",
                  "canonicalReference": "winston!~winston.Logger:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "WINSTON_LOGGER",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "Variable",
              "canonicalReference": "@loopback/extension-logging!LoggingBindings.WINSTON_TRANSPORT_FLUENT:var",
              "docComment": "/**\n * Binding key for winston transport backed by fluent\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WINSTON_TRANSPORT_FLUENT: "
                },
                {
                  "kind": "Reference",
                  "text": "BindingKey",
                  "canonicalReference": "@loopback/context!BindingKey:class"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "WinstonTransport",
                  "canonicalReference": "winston-transport!~TransportStream:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                }
              ],
              "releaseTag": "Public",
              "name": "WINSTON_TRANSPORT_FLUENT",
              "variableTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/extension-logging!LoggingComponent:class",
          "docComment": "/**\n * A component providing logging facilities\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class LoggingComponent implements "
            },
            {
              "kind": "Reference",
              "text": "Component",
              "canonicalReference": "@loopback/core!Component:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "LoggingComponent",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/extension-logging!LoggingComponent:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `LoggingComponent` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(loggingConfig: "
                },
                {
                  "kind": "Reference",
                  "text": "LoggingComponentConfig",
                  "canonicalReference": "@loopback/extension-logging!LoggingComponentConfig:type"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "loggingConfig",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  }
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/extension-logging!LoggingComponent#bindings:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "bindings: "
                },
                {
                  "kind": "Reference",
                  "text": "Binding",
                  "canonicalReference": "@loopback/context!Binding:class"
                },
                {
                  "kind": "Content",
                  "text": "<unknown>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "bindings",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@loopback/extension-logging!LoggingComponent#providers:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "providers: "
                },
                {
                  "kind": "Reference",
                  "text": "ProviderMap",
                  "canonicalReference": "@loopback/core!ProviderMap:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "providers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/extension-logging!LoggingComponentConfig:type",
          "docComment": "/**\n * Configuration for LoggingComponent\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type LoggingComponentConfig = "
            },
            {
              "kind": "Content",
              "text": "{\n    enableFluent?: boolean;\n    enableHttpAccessLog?: boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "LoggingComponentConfig",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/extension-logging!logInvocation:function(1)",
          "docComment": "/**\n * @logInvocation decorator for method invocations.\n *\n * @example\n * ```ts\n * import {logInvocation} from '@loopback/extension-logging';\n *\n * export class HelloController {\n *   @logInvocation()\n *   hello(name: string) {\n *     return `Hello, ${name}`;\n *   }\n * }\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function logInvocation(): "
            },
            {
              "kind": "Content",
              "text": "(target: any, method?: string | undefined, methodDescriptor?: "
            },
            {
              "kind": "Reference",
              "text": "TypedPropertyDescriptor",
              "canonicalReference": "!TypedPropertyDescriptor:interface"
            },
            {
              "kind": "Content",
              "text": "<any> | undefined) => any"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [],
          "name": "logInvocation"
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/extension-logging!WINSTON_FORMAT:var",
          "docComment": "/**\n * An extension point for winston formats\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "WINSTON_FORMAT = \"logging.winston.format\""
            }
          ],
          "releaseTag": "Public",
          "name": "WINSTON_FORMAT",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/extension-logging!WINSTON_TRANSPORT:var",
          "docComment": "/**\n * An extension point for winston transports\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "WINSTON_TRANSPORT = \"logging.winston.transport\""
            }
          ],
          "releaseTag": "Public",
          "name": "WINSTON_TRANSPORT",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@loopback/extension-logging!WinstonLoggerProvider:class",
          "docComment": "/**\n * A provider class that creates WinstonLogger instances\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class WinstonLoggerProvider implements "
            },
            {
              "kind": "Reference",
              "text": "Provider",
              "canonicalReference": "@loopback/context!Provider:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Logger",
              "canonicalReference": "winston!~winston.Logger:interface"
            },
            {
              "kind": "Content",
              "text": "> "
            }
          ],
          "releaseTag": "Public",
          "name": "WinstonLoggerProvider",
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@loopback/extension-logging!WinstonLoggerProvider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `WinstonLoggerProvider` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(\n    transports: "
                },
                {
                  "kind": "Reference",
                  "text": "Getter",
                  "canonicalReference": "@loopback/context!Getter:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Transport",
                  "canonicalReference": "winston-transport!~TransportStream:class"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ", \n    formats: "
                },
                {
                  "kind": "Reference",
                  "text": "Getter",
                  "canonicalReference": "@loopback/context!Getter:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Format",
                  "canonicalReference": "logform!Format:class"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ", \n    options?: "
                },
                {
                  "kind": "Reference",
                  "text": "LoggerOptions",
                  "canonicalReference": "winston!~winston.LoggerOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "transports",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  }
                },
                {
                  "parameterName": "formats",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 10
                  }
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  }
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@loopback/extension-logging!WinstonLoggerProvider#value:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Logger",
                  "canonicalReference": "winston!~winston.Logger:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "overloadIndex": 1,
              "parameters": [],
              "name": "value"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 5
            }
          ]
        }
      ]
    }
  ]
}
