 // MARK: Content Actions
 public extension Tracker {
     func contentCreated(type: ContentType) {
+        log("\(type.rawValue) created")
         agent.track("\(type.rawValue) created")
     }
 
     func contentCreationCanceled(type: ContentType) {
+        log("\(type.rawValue) creation canceled")
         agent.track("\(type.rawValue) creation canceled")
     }
 
     func contentCreationFailed(type: ContentType, message: String) {
+        log("\(type.rawValue) creation failed, [message: \(message)]")
         agent.track("\(type.rawValue) creation failed", properties: ["message": message])
     }
 
     func contentFlagged(type: ContentType, flag: ContentFlagger.AlertOption, contentId: String) {
+        log("\(type.rawValue) flagged, [content_id: \(contentId), flag: \(flag.rawValue)]")
         agent.track("\(type.rawValue) flagged", properties: ["content_id": contentId, "flag": flag.rawValue])
     }
 
     func contentFlaggingCanceled(type: ContentType, contentId: String) {
+        log("\(type.rawValue) flagging canceled, [content_id: \(contentId)]")
         agent.track("\(type.rawValue) flagging canceled", properties: ["content_id": contentId])
     }
 
     func contentFlaggingFailed(type: ContentType, message: String, contentId: String) {
+        log("\(type.rawValue) flagging failed, [content_id: \(contentId), message: \(message)]")
         agent.track("\(type.rawValue) flagging failed", properties: ["content_id": contentId, "message": message])
     }
 
     func postReposted(post: Post) {
+        log("Post reposted, [post_id: \(post.id)]")
         agent.track("Post reposted", properties: ["post_id": post.id])
     }
 
     func postShared(post: Post) {
+        log("Post shared, [post_id: \(post.id)]")
         agent.track("Post shared", properties: ["post_id": post.id])
     }
 
     func postLoved(post: Post) {
+        log("Post loved, [post_id: \(post.id)]")
         agent.track("Post loved", properties: ["post_id": post.id])
     }
 
     func postUnloved(post: Post) {
+        log("Post unloved, [post_id: \(post.id)]")
         agent.track("Post unloved", properties: ["post_id": post.id])
     }
 }

// MARK: Import Friend Actions
public extension Tracker {
    func inviteFriendsTapped() {
        agent.track("Invite Friends tapped")
    }

    func importContactsInitiated() {
        agent.track("Import Contacts initiated")
    }

    func importContactsDenied() {
        agent.track("Import Contacts denied")
    }

    func addressBookAccessed() {
        agent.track("Address book accessed")
    }
}

public extension Tracker {
    func pushNotificationPreferenceChanged(granted: Bool) {
        let accessLevel = granted ? "granted" : "denied"
        log("Push notification access \(accessLevel)")
        agent.track("Push notification access \(accessLevel)")
    }

    func contactAccessPreferenceChanged(granted: Bool) {
        let accessLevel = granted ? "granted" : "denied"
        log("Address book access \(accessLevel)")
        agent.track("Address book access \(accessLevel)")
    }
}
