Packages
ndc_ex_sdk
0.2.8
0.2.30
0.2.29
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
This is an Elixir package that wrapps any NDC-compliant API. It's host-agnostic and quite flexible-through-configuration so that it can reach NDC hosts with a certain flexibility
Current section
Files
Jump to
Current section
Files
lib/file_logger.ex
defmodule FileLogger do
use Timex
def log(request, response, config, processing_start, processing_end) do
if Application.get_env(:NDCEx, :enable_logger) do
processing_time = Time.diff(processing_end, processing_start, :milliseconds)
response_time = Time.diff(Time.now, processing_end, :milliseconds)
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} ->
s = "<!-- ProviderName: #{config[:label]} | ResponseTime: #{response_time} | ProcessingTime: #{processing_time} --> \n\n #{request} \n\n #{response}"
IO.binwrite file, s
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