Skip to content
This repository has been archived by the owner on Jan 6, 2019. It is now read-only.

Commit

Permalink
Add user_id to log.
Browse files Browse the repository at this point in the history
  • Loading branch information
ndruger committed Sep 23, 2015
1 parent cab9d55 commit 3842fb4
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 6 deletions.
2 changes: 1 addition & 1 deletion config/config.exs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ config :hello_phoenix, HelloPhoenix.Endpoint,
# Configures Elixir's Logger
config :logger, :console,
format: "$time $metadata[$level] $message\n",
metadata: [:request_id]
metadata: [:request_id, :user_id]

# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
Expand Down
19 changes: 19 additions & 0 deletions web/controllers/session_controller.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
defmodule HelloPhoenix.SessionController do
use HelloPhoenix.Web, :controller
require Logger

def index(conn, _params) do
render conn, "index.html"
end

def create(conn, %{"login" => %{"email" => email, "password" => _}}) do
# dummy login
user_id = email

Logger.info("login: user_id=" <> user_id)

conn
|> put_session(:user_id, user_id)
|> redirect(to: "/")
end
end
13 changes: 13 additions & 0 deletions web/plugs/log_user_id.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
defmodule HelloPhoenix.Plugs.LogUserId do
import Plug.Conn
require Logger

def init(default), do: default

def call(conn, _default) do
user_id = Plug.Conn.get_session(conn, :user_id)
Logger.metadata(user_id: user_id)
# IO.puts(user_id)
conn
end
end
14 changes: 10 additions & 4 deletions web/router.ex
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
defmodule HelloPhoenix.Router do
use HelloPhoenix.Web, :router


pipeline :browser do
plug :accepts, ["html"]
plug :fetch_session
Expand All @@ -10,15 +9,22 @@ defmodule HelloPhoenix.Router do
end

pipeline :api do
plug :fetch_session
plug HelloPhoenix.Plugs.LogUserId
plug :accepts, ["json"]
end

scope "/", HelloPhoenix do
pipe_through :browser

get "/", PageController, :index
get "/hello", HelloController, :index
get "/hello/:messenger", HelloController, :show
get "/", PageController, :index

get "/hello", HelloController, :index
get "/hello/:messenger", HelloController, :show

get "/login", SessionController, :index
post "/login", SessionController, :create
delete "/login", SessionController, :delete

end

Expand Down
5 changes: 5 additions & 0 deletions web/templates/session/index.html.eex
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<%= form_for @conn, session_path(@conn, :create), [name: :login], fn form -> %>
<%= text_input form, :email %>
<%= password_input form, :password %>
<%= submit "Login" %>
<% end %>
2 changes: 1 addition & 1 deletion web/views/hello_view.ex
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
defmodule HelloPhoenix.HelloView do
defmodule HelloPhoenix.SessionView do
use HelloPhoenix.Web, :view
end
3 changes: 3 additions & 0 deletions web/views/session_view.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
defmodule HelloPhoenix.HelloView do
use HelloPhoenix.Web, :view
end

0 comments on commit 3842fb4

Please sign in to comment.