Возможно с log4j будет даже проще, т.к. скрипты выполняются мультипоточно, а log4j в этом плане безопасен.
Но также надо учитывать, что из-за мультипоточного выполнения логи могут смешиваться - поэтому print() в скриптах поведения пишет сначала в буфер.
Код:
import org.apache.log4j.Logger;
#т.к. Logger threadsafe, можно определить прямо здесь
Logger logger = Logger.getLogger( "script.myscript" );
void onEvent( event, setup, con, conSlave )
{
logger.info( "Tada" );
}
В log4j.xml добавить категорию(фильтр) и аппендер(куда писать)
Код:
<appender name="MYSCRIPT" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${log.dir.path}${app.id}.myscript.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="2" />
<param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%X{nestedContext} %d{MM-dd/HH:mm:ss} %5p [%t] %c{1} - %m%n" />
</layout>
</appender>
<category name="script.myscript" additivity="false">
<priority value="DEBUG" />
<appender-ref ref="MYSCRIPT" />
</category>