zaplogger

package
v0.0.0-...-ecdd364 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2022 License: MIT Imports: 6 Imported by: 2

README

zaplogger

Package zaplogger is an Ambient plugin that provides logging using zap.

Import: github.com/ambientkit/plugin/logger/zaplogger

Version: 1.0.0

Plugin Type

The plugin can be used as the following core types:

  • Logger: true
  • Storage System: false
  • Router: false
  • Template Engine: false
  • Session Manager: false

Grants

The plugin does not request any grants.

Settings

The plugin does not have any settings.

Routes

The plugin does not have any routes.

Middleware

The plugin does not have any middleware.

FuncMap

The plugin does not have a FuncMap.

Assets

The plugin does not inject any assets.

Embedded Files

The plugin does not have any embedded files.

Example Usage

package main

import (
	"log"

	"github.com/ambientkit/ambient"
	"github.com/ambientkit/ambient/pkg/ambientapp"
	"github.com/ambientkit/plugin/logger/zaplogger"
	"github.com/ambientkit/plugin/storage/memorystorage"
)

func main() {
	plugins := &ambient.PluginLoader{
		// Core plugins are implicitly trusted.
		Router:         nil,
		TemplateEngine: nil,
		SessionManager: nil,
		// Trusted plugins are those that are typically needed to boot so they
		// will be enabled and given full access.
		TrustedPlugins: map[string]bool{},
		Plugins:        []ambient.Plugin{},
		Middleware:     []ambient.MiddlewarePlugin{
			// Middleware - executes top to bottom.
		},
	}
	_, _, err := ambientapp.NewApp("myapp", "1.0",
		zaplogger.New(),
		ambient.StoragePluginGroup{
			Storage: memorystorage.New(),
		},
		plugins)
	if err != nil {
		log.Fatalln(err.Error())
	}
}

Docgen by Ambient

Documentation

Overview

Package zaplogger is an Ambient plugin that provides logging using zap.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

Logger represents a logger.

func NewLogger

func NewLogger(appName string, appVersion string, optionalWriter io.Writer) *Logger

NewLogger returns a new logger with a default log level of error.

func (*Logger) Debug

func (l *Logger) Debug(format string, v ...interface{})

Debug is equivalent to log.Printf() + "\n" if format is not empty. It's equivalent to Println() if format is empty.

func (*Logger) Error

func (l *Logger) Error(format string, v ...interface{})

Error is equivalent to log.Printf() + "\n" if format is not empty. It's equivalent to Println() if format is empty.

func (*Logger) Fatal

func (l *Logger) Fatal(format string, v ...interface{})

Fatal is equivalent to log.Printf() + "\n" if format is not empty. It's equivalent to Println() if format is empty. It's followed by a call to os.Exit(1).

func (*Logger) Info

func (l *Logger) Info(format string, v ...interface{})

Info is equivalent to log.Printf() + "\n" if format is not empty. It's equivalent to Println() if format is empty.

func (*Logger) Log

func (l *Logger) Log(level ambient.LogLevel, format string, v ...interface{})

Log is equivalent to log.Printf() + "\n" if format is not empty. It's equivalent to Println() if format is empty.

func (*Logger) Name

func (l *Logger) Name() string

Name returns the name of the logger.

func (*Logger) Named

func (l *Logger) Named(serviceName string) ambient.AppLogger

Named returns a new logger with the appended name, linked to the existing logger.

func (*Logger) SetLogLevel

func (l *Logger) SetLogLevel(level ambient.LogLevel)

SetLogLevel will set the logger output level.

func (*Logger) Warn

func (l *Logger) Warn(format string, v ...interface{})

Warn is equivalent to log.Printf() + "\n" if format is not empty. It's equivalent to Println() if format is empty.

type Plugin

type Plugin struct {
	// contains filtered or unexported fields
}

Plugin represents an Ambient plugin.

func New

func New() *Plugin

New returns an Ambient plugin that provides logging using zap.

Example
package main

import (
	"log"

	"github.com/ambientkit/ambient"
	"github.com/ambientkit/ambient/pkg/ambientapp"
	"github.com/ambientkit/plugin/logger/zaplogger"
	"github.com/ambientkit/plugin/storage/memorystorage"
)

func main() {
	plugins := &ambient.PluginLoader{
		// Core plugins are implicitly trusted.
		Router:         nil,
		TemplateEngine: nil,
		SessionManager: nil,
		// Trusted plugins are those that are typically needed to boot so they
		// will be enabled and given full access.
		TrustedPlugins: map[string]bool{},
		Plugins:        []ambient.Plugin{},
		Middleware:     []ambient.MiddlewarePlugin{
			// Middleware - executes top to bottom.
		},
	}
	_, _, err := ambientapp.NewApp("myapp", "1.0",
		zaplogger.New(),
		ambient.StoragePluginGroup{
			Storage: memorystorage.New(),
		},
		plugins)
	if err != nil {
		log.Fatalln(err.Error())
	}
}
Output:

func (*Plugin) Logger

func (p *Plugin) Logger(appName string, appVersion string, optionalWriter io.Writer) (ambient.AppLogger, error)

Logger returns a logger.

func (*Plugin) PluginName

func (p *Plugin) PluginName() string

PluginName returns the plugin name.

func (*Plugin) PluginVersion

func (p *Plugin) PluginVersion() string

PluginVersion returns the plugin version.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL