diff --git a/app/server-health/controllers/log-controller.html b/app/server-health/controllers/log-controller.html
index f30fdae..59edc72 100644
--- a/app/server-health/controllers/log-controller.html
+++ b/app/server-health/controllers/log-controller.html
@@ -47,13 +47,14 @@
                         <button class="btn-primary" ng-click="confirm = false">No</button>
                     </div>
                 </div>
-                <p class="inline"><span class="event__select-count">{{filteredLogs.length}}</span> Events are logged</p>
+                <p class="inline" ng-show="selectedEvents.length"><span class="event__select-count">{{selectedEvents.length}}</span> Events are Selected</p>
+                <p class="inline" ng-hide="selectedEvents.length"><span class="event__select-count">{{filteredLogs.length}}</span> Events are Logged</p>
                 <!-- when logs are selected, this text changes to show how many logs are checked -->
                 <div class="event__actions">
                     <button class="inline btn-delete" ng-show="selectedEvents.length || all" ng-click="confirm= ! confirm">
                         <img class="event__icon" src="assets/images/icon-trashcan-white.svg" alt="">Delete
                     </button>
-                    <button class="inline btn-resolve" ng-show="selectedEvents.length || all">
+                    <button class="inline btn-resolve" ng-show="selectedEvents.length || all" ng-click="resolve()">
                         <img class="event__icon" src="assets/images/icon-checklist-white.svg" alt="">Mark as resolved
                     </button>
                     <a ng-href="data:text/json;charset=utf-8,{{export_data}}" class="inline btn-export"  download="{{export_name}}" ng-show="selectedEvents.length || all">Export</a>
diff --git a/app/server-health/controllers/log-controller.js b/app/server-health/controllers/log-controller.js
index eb4ea26..cf3f248 100644
--- a/app/server-health/controllers/log-controller.js
+++ b/app/server-health/controllers/log-controller.js
@@ -120,6 +120,28 @@
                     $scope.export_data = JSON.stringify(data);
                 }
 
+
+                $scope.accept = function(){
+                    APIUtils.deleteLogs($scope.selectedEvents).then(function(){
+                        $scope.confirm = false;
+                        $scope.loadLogs();
+                    });
+                }
+
+                $scope.resolve = function(){
+                    var events = $scope.selectedEvents.filter(function(item){
+                        return item.Resolved != 1;
+                    });
+
+                    if(!events.length) return;
+
+                    APIUtils.resolveLogs(events).then(function(){
+                        events.forEach(function(item){
+                            item.Resolved = 1;
+                        });
+                    });
+                }
+
                 $scope.$watch('logs', function(){
                     $scope.selectedEvents = $scope.logs.filter(function(item){
                         return item.selected;
