In your log4j2.xml configuration, I assume you have configured a RollingFileAppender. The log4j 2 RollingFileAppender manual page offers more detail, but you can control when the log file rolls over with the "triggering policy". The TimeBasedTriggeringPolicy only fires when a new log event arrives. Based on your description I think this is what you have in your configuration.
What you can use instead is the CronTriggeringPolicy, where you define a schedule at which the log file should be rolled over. The schedule is defined in a cron expression.
One note of caution: I've seen a few bug reports against CronTriggeringPolicy for Log4j 2.6.2. If you experience any issues please use 2.6.1.