Download PHestia

Since Version 1.3.5 Paloose was configured to run with log4php Version 2.0.0 and later. Unfortunately this has not been maintained since about 2012. This has forced me into replacing it with a specially written replacement, PHestia (the name is derived from another logging system that I wrote in Swift). It has been tested with PHP (however it needs version 8.5.2).

PHestia is loaded separately to Paloose The latest compact version can be found here.

Phestia Version History

1.0.7 2026-10-03 • Corrected file names in include LoggerConfiguration files.
1.0.6 2026-09-30 • Updated FileAppender and RollingFileAppender to handle file names correctly.
• Remaining update of comments.
1.0.5 2026-09-29 • Updated comments (download as 1.0.6)
1.0.4 2026-09-21 • Created.

Updating to PHestia

In order to run the latest Paloose (after 1.20.0) it is necessary to make a few changes in your paloose-ini.php file and the configuration file. On my sites I have the following folder hierarchy on my web servers:

<web root> ---+--- <web site> ---+--- htaccess | +--- sitemap.xmap | +--- paloose-ini.php | +--- config ------ Paloose.xml | +--- logs ------- <log files generated by logger> | +--- <web site files> | +--- servers ---+--- paloose +--- phestia

paloose-ini.php changes

Using the above, the line

define( 'PALOOSE_LOG4PHP_DIRECTORY', '../servers/log4php' );

should be changed to (or whatever your structure and configuration file is)

define( 'PALOOSE_LOGGER_DIRECTORY', '../servers/phestia' );

The important parts here are the change from PALOOSE_LOG4PHP_DIRECTORY to PALOOSE_LOGGER_DIRECTORY; and the name of the logger to phestia.

Configuration file changes

The configuration file that is used by log4php is, while being similar, not suitable for PHestia. The following is an example of the new file which should be relatively self explanatory. The levels, "warn", "info", etc. are identical to log4php.

<?xml version="1.0" encoding="UTF-8" ?> <configuration xmlns="http://www.hsfr.org.uk/Schema/Hestia"> <appenders> <appender name="null" class="NullAppender"/> <appender name="simple" class="StdOutAppender"> <layout class="SimpleLayout"/> </appender> <appender name="console" class="StdOutAppender"> <layout class="PatternLayout"> <param name="ConversionPattern" value="%d{dd/MM/yyyy hh:mm:ss}: [%p] %F:%M:%L: %m"/> </layout> </appender> <appender name="rollingFile" class="RollingFileAppender"> <param name="append" value="true"/> <param name="maxFileSize" value="200"/> <param name="maxBackupIndex" value="10"/> <param name="file" value="logs/pp.log"/> <layout class="PatternLayout"> <param name="ConversionPattern" value="%d{MM/dd/yyyy hh:mm:ss}: [%p] %F:%M:%L: %m"/> </layout> </appender> <appender name="file" class="FileAppender"> <param name="append" value="true"/> <param name="maxFileSize" value="10000"/> <param name="maxBackupIndex" value="10"/> <param name="file" value="logs/pp.log"/> <layout class="PatternLayout"> <param name="ConversionPattern" value="%d{MM/dd/yyyy hh:mm:ss}: [%p] %F:%M:%L: %m"/> </layout> </appender> </appenders> <loggers> <root> <level value="info"/> <appender-ref ref="null"/> </root> <!-- The logger name is the PHP class with the Paloose code --> <logger name="Paloose"> <level value="debug"/> <!-- There can be several appenders referenced here. Foe example to the console and a file --> <appender-ref ref="null"/> </logger> </loggers> </configuration>

Note that, for historical reasons, the namespace uses "Hestia" not as one would expect "PHestia". A fuller explanation of the format will be written when I have the time.

Copyright 2006 – 2026 Hugh Field-Richards. All Rights Reserved.