)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"7fcac7bdb67e0fb69897bde6dc4f3f6cbbf5e847","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"428b55ce_9595ec01","updated":"2025-05-07 20:39:10.000000000","message":"recheck","commit_id":"cba677e2dde4897b284545b057a9187fbfc736f9"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"178090191d8ef52ae07313130587f3a53ae3f85a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"20553f02_046b535c","updated":"2025-05-28 00:00:35.000000000","message":"1. These 2 options seems conflict with log_dir，we could remove log_dir option in this patch.\n2. Add comment to describe usage about /dev/stdout \u0026 /dev/stderr，they may be useful in Kubernetes scenarios","commit_id":"b072463ee5e12a589485c5ac2e2b0bd33f68a2bb"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"6698ac3064ad583af9ccb57bf5a7e6c9db61c520","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"314125fb_5b9d1b46","in_reply_to":"20553f02_046b535c","updated":"2025-05-29 17:02:03.000000000","message":"1. The change is backward compatible. If we remove log_dir then it can break existing deployments. So before removing it we have to deprecate it. \n\nWith this change the following scenarios are possible:\n  1) log_dir is specified (or not specified and default log_dir is used) and *_log_file are NOT specified. In this case default *_log_file will be used and it does not break anything.\n  2) log_dir is speficied (or not ...) and *_log_file are also specified as relative paths. In this case the log file paths will be calculated as {log_dir}/{*_log_file}\n  3) log_dir is specified (or not ...) and *_log_file are specified as absolute paths. In this case the log_dir will be ignored and file paths will be calculated as {*_log_file}\n\n2. Agreed","commit_id":"b072463ee5e12a589485c5ac2e2b0bd33f68a2bb"}],"skyline_apiserver/cmd/generate_nginx.py":[{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"5fdd0585f3abc08e36c4e95236783ab9a2c87f71","unresolved":true,"context_lines":[{"line_number":142,"context_line":"@click.option("},{"line_number":143,"context_line":"    \"--log-dir\","},{"line_number":144,"context_line":"    \"log_dir\","},{"line_number":145,"context_line":"    help\u003d(\"skyline log file address.\"),"},{"line_number":146,"context_line":")"},{"line_number":147,"context_line":"@click.option("},{"line_number":148,"context_line":"    \"--access-log-file\","}],"source_content_type":"text/x-python","patch_set":7,"id":"a67db547_5d44be33","line":145,"range":{"start_line":145,"start_character":11,"end_line":145,"end_character":36},"updated":"2025-06-05 03:25:39.000000000","message":"How about add prompts here? The short summary from commit messages.","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"1a2a7cfb4fad43658d89241433a73bcd1325628b","unresolved":false,"context_lines":[{"line_number":142,"context_line":"@click.option("},{"line_number":143,"context_line":"    \"--log-dir\","},{"line_number":144,"context_line":"    \"log_dir\","},{"line_number":145,"context_line":"    help\u003d(\"skyline log file address.\"),"},{"line_number":146,"context_line":")"},{"line_number":147,"context_line":"@click.option("},{"line_number":148,"context_line":"    \"--access-log-file\","}],"source_content_type":"text/x-python","patch_set":7,"id":"682d3ef4_f8213326","line":145,"range":{"start_line":145,"start_character":11,"end_line":145,"end_character":36},"in_reply_to":"a67db547_5d44be33","updated":"2025-06-05 07:39:37.000000000","message":"Done","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"5be76e58cf536d083eb6fcaea5292b78e409733c","unresolved":true,"context_lines":[{"line_number":192,"context_line":"        _access_log_file \u003d Path(log_dir or CONF.default.log_dir).joinpath("},{"line_number":193,"context_line":"            access_log_file or CONF.default.access_log_file"},{"line_number":194,"context_line":"        )"},{"line_number":195,"context_line":"        _error_log_file \u003d Path(log_dir or CONF.default.log_dir).joinpath("},{"line_number":196,"context_line":"            error_log_file or CONF.default.error_log_file"},{"line_number":197,"context_line":"        )"},{"line_number":198,"context_line":"        context.update("},{"line_number":199,"context_line":"            access_log_file\u003d_access_log_file,"},{"line_number":200,"context_line":"            error_log_file\u003d_error_log_file,"}],"source_content_type":"text/x-python","patch_set":7,"id":"161567b3_94aadb64","line":197,"range":{"start_line":195,"start_character":8,"end_line":197,"end_character":9},"updated":"2025-06-05 03:16:29.000000000","message":"How could \"/dev/stderr\" make sense? Correct me if I\u0027m wrong.","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6714b8176797b00940405251053b5ea1b991b06f","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        _access_log_file \u003d Path(log_dir or CONF.default.log_dir).joinpath("},{"line_number":193,"context_line":"            access_log_file or CONF.default.access_log_file"},{"line_number":194,"context_line":"        )"},{"line_number":195,"context_line":"        _error_log_file \u003d Path(log_dir or CONF.default.log_dir).joinpath("},{"line_number":196,"context_line":"            error_log_file or CONF.default.error_log_file"},{"line_number":197,"context_line":"        )"},{"line_number":198,"context_line":"        context.update("},{"line_number":199,"context_line":"            access_log_file\u003d_access_log_file,"},{"line_number":200,"context_line":"            error_log_file\u003d_error_log_file,"}],"source_content_type":"text/x-python","patch_set":7,"id":"b3f17655_18c6f826","line":197,"range":{"start_line":195,"start_character":8,"end_line":197,"end_character":9},"in_reply_to":"161567b3_94aadb64","updated":"2025-06-05 03:19:28.000000000","message":"Oh, I know, Path.joinpath could do the right thing.","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"}],"skyline_apiserver/config/default.py":[{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"5be76e58cf536d083eb6fcaea5292b78e409733c","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    name\u003d\"log_dir\","},{"line_number":32,"context_line":"    description\u003d\"Log directory\","},{"line_number":33,"context_line":"    schema\u003dStrictStr,"},{"line_number":34,"context_line":"    default\u003d\"./log\","},{"line_number":35,"context_line":")"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"log_file \u003d Opt("}],"source_content_type":"text/x-python","patch_set":7,"id":"8ae73eb5_dc1954db","line":34,"range":{"start_line":34,"start_character":13,"end_line":34,"end_character":18},"updated":"2025-06-05 03:16:29.000000000","message":"/var/log/skyline, according to the default value in nginx.conf.j2","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"1a2a7cfb4fad43658d89241433a73bcd1325628b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    name\u003d\"log_dir\","},{"line_number":32,"context_line":"    description\u003d\"Log directory\","},{"line_number":33,"context_line":"    schema\u003dStrictStr,"},{"line_number":34,"context_line":"    default\u003d\"./log\","},{"line_number":35,"context_line":")"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"log_file \u003d Opt("}],"source_content_type":"text/x-python","patch_set":7,"id":"ea2046f1_75b4ee57","line":34,"range":{"start_line":34,"start_character":13,"end_line":34,"end_character":18},"in_reply_to":"8ae73eb5_dc1954db","updated":"2025-06-05 07:39:37.000000000","message":"Done","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"5fdd0585f3abc08e36c4e95236783ab9a2c87f71","unresolved":true,"context_lines":[{"line_number":45,"context_line":"    name\u003d\"access_log_file\","},{"line_number":46,"context_line":"    description\u003d\"Nginx access log file\","},{"line_number":47,"context_line":"    schema\u003dStrictStr,"},{"line_number":48,"context_line":"    default\u003d\"skyline_nginx_access.log\","},{"line_number":49,"context_line":")"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"error_log_file \u003d Opt("}],"source_content_type":"text/x-python","patch_set":7,"id":"4e33d8bb_8c4f8a1f","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":37},"updated":"2025-06-05 03:25:39.000000000","message":"skyline-nginx-access.log，maybe more Unix style be-like?","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"1a2a7cfb4fad43658d89241433a73bcd1325628b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    name\u003d\"access_log_file\","},{"line_number":46,"context_line":"    description\u003d\"Nginx access log file\","},{"line_number":47,"context_line":"    schema\u003dStrictStr,"},{"line_number":48,"context_line":"    default\u003d\"skyline_nginx_access.log\","},{"line_number":49,"context_line":")"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"error_log_file \u003d Opt("}],"source_content_type":"text/x-python","patch_set":7,"id":"9e53191e_58193397","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":37},"in_reply_to":"4e33d8bb_8c4f8a1f","updated":"2025-06-05 07:39:37.000000000","message":"Done","commit_id":"9a3baa78aa946929931e744c4ada80f0929858ba"}]}
