13.8. 日志记录
完成 OptaPlanner school 时间项目的红帽构建后,您可以使用日志信息帮助您微调 ConstraintProvider
中的限制。查看 info
日志文件中的分数计算速度,以评估对您的限制更改的影响。以 debug 模式运行应用程序,显示应用程序接受的每个步骤,或使用 trace 日志记录记录每一步和每次移动。
流程
- 运行 school timetable 应用以获得固定时间,如五分钟。
查看
日志文件中的
分数计算速度,如下例所示:... Solving ended: ..., score calculation speed (29455/sec), ...
-
更改约束,再次运行计划应用程序相同的时间,并查看
日志文件中
记录的分数计算速度。 以 debug 模式运行应用程序,以记录应用程序所做的每个步骤:
-
要从命令行运行调试模式,请使用
-D
系统属性。 要永久启用调试模式,请在
application.properties
文件中添加以下行:quarkus.log.category."org.optaplanner".level=debug
以下示例显示了在 debug 模式下
日志文件
的输出:... Solving started: time spent (67), best score (-20init/0hard/0soft), environment mode (REPRODUCIBLE), random (JDK with seed 0). ... CH step (0), time spent (128), score (-18init/0hard/0soft), selected move count (15), picked move ([Math(101) {null -> Room A}, Math(101) {null -> MONDAY 08:30}]). ... CH step (1), time spent (145), score (-16init/0hard/0soft), selected move count (15), picked move ([Physics(102) {null -> Room A}, Physics(102) {null -> MONDAY 09:30}]). ...
-
要从命令行运行调试模式,请使用
-
使用
trace
logging 显示每个步骤以及每个步骤的每一个移动。