diff --git a/apps/modbus/src/modbus_logger.erl b/apps/modbus/src/modbus_logger.erl index 95dffec..a3c6af3 100644 --- a/apps/modbus/src/modbus_logger.erl +++ b/apps/modbus/src/modbus_logger.erl @@ -48,9 +48,13 @@ start_link(FileName) when is_list(FileName) -> {stop, Reason :: term()} | ignore). init([FileName]) -> ensure_dir(filename:dirname(FileName)), - {ok, IoDevice} = file:open(FileName, [append, binary]), - - {ok, #state{file = IoDevice, file_name = FileName}}. + case file:open(FileName, [append, binary]) of + {ok, IoDevice} -> + {ok, #state{file = IoDevice, file_name = FileName}}; + {error, Reason} -> + lager:warning("[modbus_logger] create log file: ~p, error: ~p", [FileName, Reason]), + ignore + end. %% @private %% @doc Handling call messages diff --git a/apps/modbus/src/modbus_service.erl b/apps/modbus/src/modbus_service.erl index e22b228..aee81f1 100644 --- a/apps/modbus/src/modbus_service.erl +++ b/apps/modbus/src/modbus_service.erl @@ -241,5 +241,9 @@ retry_connect() -> create_log_file(undefined) -> undefined; create_log_file(FileName) -> - {ok, FilePid} = modbus_logger:start_link(FileName), - FilePid. \ No newline at end of file + case modbus_logger:start_link(FileName) of + {ok, FilePid} -> + FilePid; + _ -> + undefined + end. \ No newline at end of file