See examples folder.
package main import ( "time" "github.com/jjcollinge/logrus-appinsights" log "github.com/sirupsen/logrus" ) func init() { hook, err := logrus_appinsights.New("my_client", logrus_appinsights.Config{ InstrumentationKey: "instrumentation_key", MaxBatchSize: 10, // optional MaxBatchInterval: time.Second * 5, // optional }) if err != nil || hook == nil { panic(err) } // set custom levels hook.SetLevels([]log.Level{ log.PanicLevel, log.ErrorLevel, }) // ignore fields hook.AddIgnore("private") log.AddHook(hook) } func main() { f := log.Fields{ "field1": "field1_value", "field2": "field2_value", "private": "private_value", } // Send log to Application Insights for { log.WithFields(f).Error("my message") time.Sleep(time.Second * 1) } }