Coder Social home page Coder Social logo

Comments (1)

urielha avatar urielha commented on August 30, 2024

Sure,

Bulk properties

The indexing to Elasticsearch are sent by bulk and not one by one.
So on each call to "log" it will be accumulated until we have enough messages to sent or until a timeout is reached.

BulkSize

Number of messages to save in the memory before sending to Elasticsearch.

Possible values:

  • Any number that is greater than 1 - normal behavior as described
  • 1 - Don't accumulate and just send each message
  • 0 - Rely only on timeout. Accumulate all messages until timeout is reached regardless the current number of messages.

BulkIdleTimeout

As described, once this timeout (in milliseconds) is reached the current messages that are waiting in the bulk will be sent to elastic even if BulkSize isn't reached.

This action happens at a different thread than your code.

DropEventsOverBulkLimit

Sometimes users are ok with loosing some log messages in favor of memory and I/O.
You can set this property to True in order to:

  • Send messages to Elastic only when timeout is reached
  • If a new message arrive and we already have BulkSize messages waiting - the message will be dropped and lost.
    A warning message will be written to the log4net ErrorHandler (LogLog)

IndexAsync

Whether to send the requests to Elasticsearch in an async manner.
Technically it will use .net async/await for this.

If sets to True each http request won't block your code and will call an async function that will send the request in different task.

If sets to False each http request will block your code which called the log function until it's done.

Pay attention that if BulkSize is greater than 1, not all calls to "log" will be blocked but only the last one that caused the bulk size to reach it's maximum size.

from log4stash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.