Getting users to dismiss alerts or notifications

I have a system where any events worthy of attention are displayed as notifications and highlighted in red on the main tool bar with a drop down menu. See picture. The user then has the ability to dismiss the notifications to remove them from the list.

Inevitably they never dismiss the notifications though which causes them to have hundreds. The problem is then obvious, new notifications are less likely to be seen.

I am considering

1) Notifications are automatically dismissed after a period (ie 2 days)

2) The user can mark a notification as not to be dismissed in which case it will stay

What do you think is the best solution?

Notifications