# The LoggerManager creates loggers for entries in this file.
# This initializes certain logs at the set debugging levels( 0 - 4 )
# A management tool will force reinitialization and a reread of this file at
# runtime.  However the primary way to alter runtime loggin levels will be to
# modify the level of the logger object through the tool.
# An entry must have a .level entry to be initialized
# .systemout is N by default, Y will turn it on
# .maxfilesize -- number of bytes before archiving log
# .numtocheck -- number of entries before checking to see if it is too big
# The logroot value is used by default.  This can be overridden with
# a specific entry

logroot=@project_home@/logs

# the sleepinterval value is how often the writing thread wakes up in ms.
# Recommend set to 1000 for development servers (so it would write with 1 sec. delay
# and 10000 for production servers (so it would write every 10 seconds.)

#Min is 5 secs ie 5000
sleepInterval=1000

# The string buffer size before messages are flushed to disk.
# Minimum is zero, which flushes every log message to disk asap.
buffer_capacity=0

access_cacheaccess.level=2
access_cacheaccess.systemout=y
access_cacheaccess.maxfilesize=100000
access_cacheaccess.numtocheck=300

control_cache.level=2
control_cache.systemout=y
control_cache.maxfilesize=100000
control_cache.numtocheck=300

engine_groupcache.level=2
engine_groupcache.systemout=y
engine_groupcache.maxfilesize=100000
engine_groupcache.numtocheck=300

control_cachemanager.level=2
control_cachemanager.systemout=y
control_cachemanager.maxfilesize=100000
control_cachemanager.numtocheck=300

memory_lateralcacheunicaster.level=0
memory_lateralcacheunicaster.systemout=n
memory_lateralcacheunicaster.maxfilesize=100000
memory_lateralcacheunicaster.numtocheck=300

remote_remotecachemanager.level=2
remote_remotecachemanager.systemout=y
remote_remotecachemanager.maxfilesize=100000
remote_remotecachemanager.numtocheck=300

group_remotegroupcacheserver.level=2
group_remotegroupcacheserver.systemout=y
group_remotegroupcacheserver.maxfilesize=100000
group_remotegroupcacheserver.numtocheck=300
