Documentation
¶
Overview ¶
Package telelogger provides advanced logging capabilities for Go applications.
Overview ¶
Telelogger is designed to be a flexible and powerful logging solution that can be easily integrated into any Go application. It provides various features for logging management and configuration.
Basic Usage
import "github.com/yohaiwiener/telelogger"
For more examples and detailed documentation, visit: https://pkg.go.dev/github.com/yohaiwiener/telelogger
Package telelogger provides advanced logging capabilities through Telegram.
This package allows users to implement sophisticated logging with various output formats and destinations through Telegram Bot API.
Index ¶
- Constants
- type Config
- type FormatterFunc
- type ParseMode
- type Telelogger
- func (t *Telelogger) Log(msg string) error
- func (t *Telelogger) LogError(err interface{}) error
- func (t *Telelogger) LogInfo(msg string) error
- func (t *Telelogger) LogSuccess(msg string) error
- func (t *Telelogger) LogWarn(msg string) error
- func (t *Telelogger) LogWithParseMode(msg string, parseMode ParseMode) error
Constants ¶
const Version = "0.1.0"
Version represents the current version of the package
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// BotToken is the Telegram Bot Token obtained from BotFather
BotToken string
// ChatID is the Telegram Chat ID where messages will be sent
ChatID int64
// ParseMode specifies the formatting mode for messages
// Can be HTML, Markdown, or MarkdownV2
// If not provided, no formatting will be applied
ParseMode ParseMode
// InfoFormatter is a custom formatter for info messages
// If not provided, uses default format with ℹ️ emoji
InfoFormatter FormatterFunc
// ErrorFormatter is a custom formatter for error messages
// If not provided, uses default format with ❌ emoji
ErrorFormatter FormatterFunc
// SuccessFormatter is a custom formatter for success messages
// If not provided, uses default format with ✅ emoji
SuccessFormatter FormatterFunc
// WarnFormatter is a custom formatter for warning messages
// If not provided, uses default format with 🚨 emoji
WarnFormatter FormatterFunc
}
Config holds the configuration for the Telelogger instance.
type FormatterFunc ¶
FormatterFunc is a function type for message formatting. It takes a message string and returns a formatted string.
type ParseMode ¶
type ParseMode string
ParseMode represents the available formatting modes for Telegram messages. Can be one of: "HTML", "Markdown", or "MarkdownV2".
const ( // ParseModeHTML enables HTML-style formatting ParseModeHTML ParseMode = "HTML" // ParseModeMarkdown enables basic Markdown formatting ParseModeMarkdown ParseMode = "Markdown" // ParseModeMarkdownV2 enables enhanced Markdown formatting with more features ParseModeMarkdownV2 ParseMode = "MarkdownV2" )
type Telelogger ¶
type Telelogger struct {
// contains filtered or unexported fields
}
Telelogger is the main struct for sending formatted log messages to Telegram. It provides methods for sending different types of messages (info, error, success, warning) with optional message formatting and custom formatters.
func New ¶
func New(config Config) *Telelogger
New creates a new Telelogger instance with the provided configuration.
Example:
logger := telelogger.New(telelogger.Config{
BotToken: "your-bot-token",
ChatID: 123456789,
ParseMode: telelogger.ParseModeHTML,
})
func (*Telelogger) Log ¶
func (t *Telelogger) Log(msg string) error
Log sends a generic message to Telegram.
Example:
err := logger.Log("Generic message")
func (*Telelogger) LogError ¶
func (t *Telelogger) LogError(err interface{}) error
LogError sends an error message to Telegram. The error parameter can be either an error object or a string.
Example:
err := logger.LogError("Database connection failed")
// or
err := logger.LogError(fmt.Errorf("Database connection failed"))
func (*Telelogger) LogInfo ¶
func (t *Telelogger) LogInfo(msg string) error
LogInfo sends an info message to Telegram.
Example:
err := logger.LogInfo("Application started successfully")
func (*Telelogger) LogSuccess ¶
func (t *Telelogger) LogSuccess(msg string) error
LogSuccess sends a success message to Telegram.
Example:
err := logger.LogSuccess("Backup completed successfully")
func (*Telelogger) LogWarn ¶
func (t *Telelogger) LogWarn(msg string) error
LogWarn sends a warning message to Telegram.
Example:
err := logger.LogWarn("Low disk space")
func (*Telelogger) LogWithParseMode ¶
func (t *Telelogger) LogWithParseMode(msg string, parseMode ParseMode) error
LogWithParseMode sends a generic message to Telegram with a specific parse mode.
Example:
err := logger.LogWithParseMode("Message with <b>bold</b> text", telelogger.ParseModeHTML)