Download the PHP package solophp/logger without Composer

On this page you can find all versions of the php package solophp/logger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package logger

Solo PSR-3 Logger

Latest Version on Packagist License PHP Version

A lightweight PSR-3 compliant logger with timezone-aware log rotation, pluggable formatters (line / JSON / logfmt), context interpolation and safe, lock-based file writes.

Installation

Install via composer:

Usage

Basic usage:

With custom timezone for rotation file timestamps:

Change log file or rotation timezone at runtime:

Features

Requirements

Log Levels

The logger supports all PSR-3 log levels:

Log Rotation

The logger supports automatic log rotation with multiple strategies to prevent disk overflow and simplify log management.

Rotation Strategies

Size-based rotation

Rotates logs when the file reaches a specified size limit:

Time-based rotation

Rotates logs at specified time intervals:

Combined rotation

Rotates logs when either size OR time condition is met:

Runtime Configuration

You can change rotation settings at runtime:

File Naming

When rotation occurs, files are created with timestamps:

Examples:

Best Practices

Examples

Daily rotation with 30-day retention

Size-based with 50MB total limit

Combined strategy for high-traffic applications

Formatters

Every log record is rendered by a FormatterInterface implementation. The default is LineFormatter; pass a different one via the constructor or setFormatter() at runtime.

LineFormatter (default)

Plain text with a configurable template and PSR-3 {placeholder} interpolation.

Template tokens: {time}, {level}, {message}. Context keys referenced inside the message (e.g. "User {user_id}") are resolved against the $context array.

JsonFormatter

Single-line JSON (NDJSON) — fits ELK / Loki / Graylog / Datadog pipelines. Context keys are merged into the top-level record; reserved keys (time, level, message) are namespaced under context to avoid collisions. \Throwable, \DateTimeInterface and \Stringable objects are normalised.

LogfmtFormatter

Heroku/Splunk-style key=value pairs. Values with whitespace or quotes are escaped.

Writing a custom formatter

Implement Solo\Logger\Formatter\FormatterInterface — a single format() method. The returned string MUST NOT include a trailing newline (the Logger appends one).

Error Handling

If writing a log record fails (unwritable path, full disk, unable to create directory), the logger throws \RuntimeException rather than silently dropping the record. Wrap calls in a try/catch if your application must tolerate log-sink failures.

Development

License

MIT License. See LICENSE file for details.


All versions of logger with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package solophp/logger contains the following files

Loading the files please wait ...