Let me post an answer contrary to existing ones. A "login successful" message is not just unnecessary but it's also wrong.
Think if objects/devices you use in everyday life will give you feedback each time you use them: "OK, you're using right key, you can turn the car's engine on", "Welcome back Adriano, this is your house", "Your PIN is correct, press OK to do what you expected to do", "Unlock gesture was right, swipe again to unlock the screen", and so on...
Count how many sites/applications confirm a successful login: to log-in is part of workflow. Unless you give a confirmation message for each step then you do not need an (unmotivated) exception. Established behavior is - even alone - a reason strong enough, unless there is a well-recognized need (see notes).
It's now trendy (when technically feasible) to even avoid confirmation messages, favoring more subtle feedback in conjunction with an undo functionality. If confirmations can/should be avoided then this argument is even stronger for non-functional informative messages.
On the other side, of course, we expect an error page/message in case of errors.
Keep notifications for what really matters because it may fail or if you do not have any other PERMANENT feedback of their result (when application state is clearly changed - and it MUST be clear when you're logged in - message is just redundant).
Standalone Login Page
It's unnecessary because, when the operation completes successfully, you move from the login page to another page. It's what we expect, with no need for confirmation.
EDIT: after your edit this paragraph doesn't apply anymore, just ignore it in your specific case (however next one is specific); I keep it here for the general discussion.
Popup Login Form
This is true even when the login form is not a standalone page but a simple popup.
Usually the control where you interacted to open the login form will change to show you're now logged in. In this case you may consider a subtle animation to give a feedback however (I say even if it's obvious) visible application state has to change to always remind users they're logged in.
What do do to make clear you're logged in can be a topic for another question, you may change your top bar (if any), change your login button to become logout (but it has to be clearly different without being visually prominent), use (in addition) a different color scheme (carefully!) or...anything else according to your site design.
It's wrong because it's unnecessary (and we want to keep our interface simple). Moreover, unnecessary messages slow down UX experience, break workflow and reduce user attention to meaningful messages (errors, alerts or important notifications).
It doesn't matter how you show them (message box, dismissable box, popup or toast) -- if it's unnecessary it's also annoying and redundant.
When (for critical operations or access to sensible/reserved information) there is a multi-step login process then you should have a clear standalone page to inform the user that they are logged in and can now access reserved data and/or be able to perform dangerous operations.
Text Vs Something Else: if the purpose is to give feedback then text is worse than other options. With text you need to read but the message is simply a confirmation of something you already know. This kind of informational messages should be used sparely otherwise users will simply ignore them all.
Exactly same reasoning may be applied to logout. Unless there is a special reason then no message is required. Also note that logout control may be more prominent if you want to remember your users to perform logout.
In your screenshot I see "sign up" and "log in" fields, if your audience isn't only English native speakers you may consider to use a different wording (see also What is the difference between "sign in" and "log in" and how websites choose one VS. the other?).