
Research
/Security News
Contagious Interview Campaign Escalates With 67 Malicious npm Packages and New Malware Loader
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
winston-logsene
Advanced tools
This is a transport module for the winston logger winstonjs/winston for logging with Sematext Cloud.
Winston-Logsene combines the flexibility of using the Winston logging framework with Sematext Cloud (think Hosted Elasticsearch + Kibana). Create your free account and access token here.
const Logsene = require('winston-logsene')
const { createLogger, format, config } = require('winston')
const logger = createLogger({
levels: config.npm.levels,
transports: [new Logsene({
token: process.env.LOGS_TOKEN,
level: 'debug',
type: 'test_logs',
url: 'https://logsene-receiver.sematext.com/_bulk'
})]
})
https://logsene-receiver.sematext.com/_bulk
. To ship logs to Sematext Cloud (EU) in Europe use https://logsene-receiver.eu.sematext.com/_bulk
level, msg, meta
as parameter and returns the new meta arrayvar Logsene = require('winston-logsene')
const { createLogger, format, config } = require('winston')
// example for custom rewriter, e.g. add myServerIp field to all logs
var myServerIp = '10.0.0.12'
var logger = createLogger({
levels: config.npm.levels,
transports: [new Logsene({
// set log level, defaut is 'info'
level: 'debug',
// optional set a format function
format: format.splat(),
token: process.env.LOGS_TOKEN,
rewriter: function (level, msg, meta) {
meta.ip = myServerIp
return meta
}
})]
})
logger.info('debug', 'Info Message')
// use dynamic list of placeholders and parameters for format.splat(), and any Object as Metadata
logger.info('Info message no. %d logged to %s', 1, 'Sematext Cloud', {meta: 'test-log', count: 1, tags: ['test', 'info', 'winston']})
// message placeholders work the same way as in util.format()
// utilize tags (in the metadata object) as filter to be used in Sematext Cloud user interface
logger.info('Info Message', {tags: ['info', 'test']})
logger.error('Error message no. %d logged to %s', 1, 'Sematext Cloud', {meta: 'test-error', count: 1, tags: ['test', 'error', 'winston']})
logger.warn('Warning message no. %d logged to %s', 1, 'Sematext Cloud', {meta: 'test-warning', count: 1, tags: ['test', 'warning', 'winston']})
logger.debug('Debug message no. %d logged to %s', 1, 'Sematext Cloud', {meta: 'test-debug', count: 1})
It is possible to log any JSON Object as meta data, but please note Sematext Cloud stores data in Elasticsearch and therefore you should define an index template, matching your data structure. More about Elasticsearch mapping and templates for Sematext Cloud: https://sematext.com/blog/custom-elasticsearch-index-templates-in-logsene/
In addition you should use different types for different meta data structures to avoid type conflicts in Elasticsearch. Include a type name in the meta-data like {type: 'logType1', ...} - this overwrites the "type" property, specified in the contstructor.
logger.add (logsene, {token: process.env.LOGSENE_TOKEN, type: 'my_logs'})
// numeric id, log type from constructor
logger.info('hello', {id: 1})
// The next line will cause a type conflict in Elasticsearch/Sematext Cloud, because id was a number before
logger.info('hello', {id: 'ID-1'})
// using a different type, OK no type conflict for the field 'id' in Elasticsearch//Sematext Cloud
// because we use a different type in the Elasticsearch//Sematext Cloud index
logger.info('hello', {type: 'my_type_with_string_ids',{id: 'ID-1'}})
export HTTPS_PROXY=https://my-ssl-proxy.example
export HTTPS_PROXY=http://my-proxy.example
export HTTP_PROXY=http://my-proxy.example
export HTTP_PROXY=https://my-ssl-proxy.example
Apache 2, see LICENSE file
#48
#46
#44
#45
#39
#40
#42
#41
#38
#37
#36
#34
#33
#32
#31
#30
#29
#28
FAQs
Winston transport layer for Logsene
The npm package winston-logsene receives a total of 574 weekly downloads. As such, winston-logsene popularity was classified as not popular.
We found that winston-logsene demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.