Ok, I figured this out. I'm doing this in spring which uses logback as the 
default logger. For this setup, the setting is:
logging.level.org.apache.cayenne.log.JdbcEventLogger=WARN

This applies to other settings too. For example:
logging.level.org.apache.cayenne.util = DEBUG
logging.level.org.apache.cayenne = INFO

So, you change log4j.logger to logging.level


Rob
> On 1 Feb 2026, at 21:42, John Huss <[email protected]> wrote:
> 
> The correct property name is this:
> 
> log4j.logger.org.apache.cayenne.log.JdbcEventLogger=WARN
> 
> Otherwise, you can do it programmatically for log4j too.
> 
> Logger.getLogger(JdbcEventLogger.class).setLevel(Level.WARN);
> 
> 
> On Sun, Feb 1, 2026 at 9:34 AM Robert A. Decker <[email protected]>
> wrote:
> 
>> I'm on cayenne 4.2 running in spring.
>> 
>> I'm building my server runtime in code so that I can have my own pk
>> generator (see below).
>> 
>> I have the following application property which seems to be ignored:
>> log4j.logger.org.apache.cayenne.access.QueryLogger = WARN
>> 
>> Since I'm building the runtime by hand do I also need to create my own
>> logger?
>> 
>> In my logfiles, it's logging at level INFO, with the logger interface
>> org.apache.cayenne.log.JdbcEventLogger.
>> 2026-02-01T16:24:50.986+01:00  INFO 13688 --- [ai] [   scheduling-1]
>> org.apache.cayenne.log.JdbcEventLogger   : === returned 0 rows. - took 18
>> ms.
>> 
>> Rob
>> 
>> cayenneRuntime = ServerRuntime.builder()
>>        .addConfig("cayenne-project.xml")
>>        .addModule(binder ->
>>                ServerModule.contributePkGenerators(binder)
>>                        .put(MySQLAdapter.class.getName(),
>> SmsPkGenerator.class))
>>        .dataSource(DataSourceBuilder
>> 
>> .url(environment.getProperty("org.apache.cayenne.datasource.jdbc.url"))
>> 
>> .driver(environment.getProperty("org.apache.cayenne.datasource.jdbc.driver"))
>> 
>> .userName(environment.getProperty("org.apache.cayenne.datasource.jdbc.username"))
>> 
>> .password(environment.getProperty("org.apache.cayenne.datasource.jdbc.password"))
>> 
>> .pool(Integer.parseInt(Objects.requireNonNull(environment.getProperty("org.apache.cayenne.datasource.jdbc.minConnections"))),
>> 
>> Integer.parseInt(Objects.requireNonNull(environment.getProperty("org.apache.cayenne.datasource.jdbc.maxConnections"))))
>>                .build())
>>        .build();
>> 

Reply via email to