Current section

Files

Jump to
ndc_ex_sdk lib file_logger.ex
Raw

lib/file_logger.ex

defmodule FileLogger do
def log(request, response, config) do
if Application.get_env(:NDCEx, :enable_logger) do
status = create_dir
{{year, mon, day}, {hh, mm, ss}} = :os.timestamp |> :calendar.now_to_datetime
datetime = "#{year}-#{mon}-#{day}-#{hh}-#{mm}-#{ss}"
filename = "logs/#{config[:label]}.log"
content = if File.exists?(filename), do: filename |> File.read!, else: ""
case File.open filename, [:write] do
{:ok, file} ->
IO.binwrite file, "#{content} \n\n =============Request (#{datetime})============== \n\n #{request} \n\n\n ============Response:===========\n\n #{response}"
File.close file
{:error, reason} ->
IO.inspect reason
end
end
end
def log_request(xml) do
#if Application.get_env(:NDCEx, :enable_logger) do
{{year, mon, day}, {hh, mm, ss}} = :os.timestamp |> :calendar.now_to_datetime
filename = "#{year}-#{mon}-#{day}-#{hh}-#{mm}-#{ss}.log"
case File.open filename, [:write] do
{:ok, file} ->
File.open filename, [:write]
IO.binwrite file, xml
File.close file
filename
{:error, reason} ->
IO.inspect reason
end
#end
end
def log_response(filename, xml) do
case File.open filename, [:write] do
{:ok, file} ->
IO.binwrite file, xml <> "\n Response: \n\n" <> xml
File.close file
{:error, reason} ->
IO.inspect reason
end
end
defp create_dir, do: File.mkdir("logs")
end