winston-azure-blob
v1.5.0
Published
NEW winston transport for azure blob storage
Downloads
20,561
Readme
winston-azure-blob
An Azure Blob transport for winston3
Highlights
- :heavy_check_mark: Simple API - Easy to use API with sensible defaults
- :large_blue_circle: Typescript ready
- :closed_lock_with_key: SAS support - Use a Shared Access Signature or key/name auth
- :wrench: Highly configurable - Lots of options for customization in specific use cases
- :cloud: Modern - Uses the new
@azure/storage-blob
SDK
Installation
yarn install winston
yarn install winston-azure-blob
Usage
import * as winston from "winston";
import { winstonAzureBlob, extensions } from "winston-azure-blob";
const logger = winston.createLogger({
format: winston.format.combine(
winston.format.timestamp(),
winston.format.splat(),
winston.format.json()
),
transports: [
winstonAzureBlob({
account: {
name: "Azure storage account sub domain ([A-Za-z0-9])",
key: "The long Azure storage secret key"
// or
host: 'The host address',
sasToken: 'The Shared Access Signature token'
// or
connectionString: 'A connection string for the storage account'
},
blobName: "The name of the blob",
bufferLogSize : 1,
containerName: "A container name",
eol : "\n",
extension : extensions.LOG,
level: "info",
rotatePeriod : "YYYY-MM-DD",
syncTimeout : 0,
})
]
});
logger.warn("Hello!");
API
| Parameter | Data Type | Description | Default | Type/Options |
| --------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------ |
| account
| Object | Azure storage account credentials. Can provide either name
& key
, host
& sasToken
, or a connectionString
. | | See below |
| blobName
| String | The name of the blob to log. | | |
| bufferLogSize
| Integer | A minimum number of logs before syncing the blob. | -1 | |
| containerName
| String | The container which will contain the logs. | | |
| eol
| String | The character appended to each log. | "\n" | |
| extension
| String | The file extension for the log file. | No file extension | .log
via extensions
or string file extension |
| headers
| Array | Column headers for csv log files. Headers, when provided, are applied to newly created csv blobs. | | |
| level
| String | Log level of messages for the transport. | info
| |
| rotatePeriod
| String (formatted) | A moment format for blob name generation. Ex: YYYY-MM-DD
will generate blobName.2000.01.01
. | "" | |
| syncTimeout
| Integer (milliseconds) | The maximum time between two sync calls. Set to zero for realtime logging. | 0 | |
Account Credentials Options:
| Field | Data Type | Description |
| ------------------ | --------- | ---------------------------------------------------- |
| name
| String | Name of the Windows Azure storage account to use. |
| key
| String | Access key to authenticate into the storage account. |
| host
| String | HTTP address of the storage account. |
| sasToken
| String | Shared access signature of the storage account. |
| connectionString
| String | A connection string for the storage account. |