private No one should use the logger field outside the class (even in subclasses), if you don't set this any other class could use your logger for log in your class' name.
static The attribute is attached to the class so it won't repeat with each instance of the class. If you don't set this the logger attribute will occupy extra space in memory with every instance the system makes of the object (you misunderstood this).