[ %% 登录服配置 {login_server, [ {server_env, "internal"}, {login_node_port, ${tcp_port}}, %% 日志文件配置 {logger, [ {handler, info, ms_logger_std, #{ level => info, config => #{ file => "${log_dir}/info.log", burst_limit_enable => true, burst_limit_max_count => 500, burst_limit_window_time => 1000, sync_mode_qlen => 200, drop_mode_qlen => 200, flush_qlen => 1000, max_no_bytes => 209715200, max_no_files => 10 }, filter_default => stop, filters => [ {domain, {fun logger_filters:domain/2, {log, equal, [ms_base]}}} ], formatter => {logger_formatter, #{ max_size => 2000, single_line => false, legacy_header => false, template => ["====| ", time, " | ", level, " | ", {id, [id], ["undefined"]}, " | ", mfa, ":", line, " | ", pid, " |====\n", msg, "\n"] }} }}, {handler, error, ms_logger_std, #{ level => error, config => #{ file => "${log_dir}/error.log", burst_limit_enable => true, burst_limit_max_count => 500, burst_limit_window_time => 1000, sync_mode_qlen => 200, drop_mode_qlen => 200, flush_qlen => 1000, max_no_bytes => 209715200, max_no_files => 10 }, filter_default => stop, filters => [ {domain, {fun logger_filters:domain/2, {log, equal, [ms_base]}}} ], formatter => {logger_formatter, #{ max_size => 10000, single_line => false, legacy_header => false, template => ["====| ", time, " | ", level, " | ", {id, [id], ["undefined"]}, " | ", mfa, ":", line, " | ", pid, " |====\n", msg, "\n"] }} }}, {handler, http_log, ms_logger_std, #{ level => info, config => #{ file => "${log_dir}/http_info.log", burst_limit_enable => true, burst_limit_max_count => 500, burst_limit_window_time => 1000, sync_mode_qlen => 200, drop_mode_qlen => 200, flush_qlen => 1000, max_no_bytes => 209715200, max_no_files => 10 }, filter_default => stop, filters => [ {http_domain, {fun logger_filters:domain/2, {log, equal, [ms_http]}}} ], formatter => {logger_formatter, #{ max_size => 10000, single_line => false, legacy_header => false, template => ["====| ", time, " | ", level, " | ", {id, [id], ["undefined"]}, " | ", mfa, ":", line, " | ", pid, " |====\n", msg, "\n"] }} }} ]} ]}, %% ms_cache 缓存配置 {ms_cache, [ {data_node, undefined}, {cache_db_type, proc}, {data_fmt, record}, {db_save_time, ${db_save_time}}, {db_save_count, ${db_save_count}}, {db_driver, 'mysql-otp'}, {db_user, "${login_db_user}"}, {db_pass, "${login_db_pass}"}, {db_host, "${login_db_host}"}, {db_port, ${login_db_port}}, {db_name, "${db_game_name}"}, {db_encoding, utf8}, {db_select_pool_name, select_pool_name}, {db_select_pool_size, 10}, {db_update_pool_name, update_pool_name}, {db_update_pool_size, 10}, {db_sync_options, #{ limit => 7, create_table => true, drop_table => false, alter_table => true, patch_run_mod => auto, patch_prefix => "patch_" }} ]}, %% kernel 配置 {kernel, [ {inet_dist_listen_min, 16000}, {inet_dist_listen_max, 17000}, {logger_level, ${logger_level}}, {logger, [ {filters, stop, [ {domain, {fun logger_filters:domain/2, {log, equal, [ms_base]}}}, {http_domain, {fun logger_filters:domain/2, {log, equal, [ms_http]}}} ]}, {handler, default, logger_std_h, #{ level => ${logger_level}, filter_default => stop, filters => [{need_level, {fun logger_filters:level/2, {log, gteq, info}}}], formatter => {logger_formatter, #{ max_size => 10000, single_line => false, legacy_header => false, template => ["====| ", time, " | ", level, " | ", {id, [id], ["undefined"]}, " | ", mfa, ":", line, " | ", pid, " |====\n", msg, "\n"] }} }} ]} ]}, %% sasl 配置 {sasl, [ {sasl_error_logger, false} ]} ].