Skip to content

Commit

Permalink
file and line numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
jdmcd committed Jan 15, 2018
1 parent bfae2ce commit 3c2a3b9
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 23 deletions.
2 changes: 1 addition & 1 deletion Sources/Bugsnag/Middleware.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public final class Middleware: HTTP.Middleware, ConfigInitializable {
do {
return try next.respond(to: request)
} catch let error {
try self.reporter.report(error: error, request: request)
try self.reporter.report(error: error, request: request, lineNumber: nil, funcName: nil, fileName: nil)
throw error
}
}
Expand Down
21 changes: 11 additions & 10 deletions Sources/Bugsnag/PayloadTransformer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,17 @@ internal struct PayloadTransformer: PayloadTransformerType {
userName: String?,
userEmail: String?
) throws -> JSON {

let stacktrace = Node([
Node([
"file": Node((fileName ?? "") + ": " + message),
"lineNumber": Node(lineNumber ?? 0),
"columnNumber": 0,
"method": Node(funcName ?? "NA")
])
])


let internalStacktraceNode = try Node(node:
["file": fileName ?? nil,
"lineNumber": Node(lineNumber ?? 0),
"columnNumber": 0,
"method": Node(funcName ?? "NA")
]
)

let stacktrace = Node([internalStacktraceNode])

let app: Node = Node([
"releaseStage": Node(environment.description),
"type": "Vapor"
Expand Down
33 changes: 21 additions & 12 deletions Sources/Bugsnag/Reporter.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import HTTP
import Core

public protocol ReporterType {
func report(error: Error, request: Request?, userId: String?, userName: String?, userEmail: String?) throws
func report(error: Error, request: Request?, userId: String?, userName: String?, userEmail: String?, lineNumber: Int?, funcName: String?, fileName: String?) throws

func report(error: Error, request: Request?) throws
func report(error: Error, request: Request?, lineNumber: Int?, funcName: String?, fileName: String?) throws

func report(
error: Error,
Expand All @@ -14,6 +14,9 @@ public protocol ReporterType {
userId: String?,
userName: String?,
userEmail: String?,
lineNumber: Int?,
funcName: String?,
fileName: String?,
completion: (() -> ())?
) throws
}
Expand All @@ -23,8 +26,8 @@ public enum Severity: String {
}

public final class Reporter: ReporterType {
public func report(error: Error, request: Request?, userId: String?, userName: String?, userEmail: String?) throws {
report(error: error, request: request, severity: .error, userId: userId, userName: userName, userEmail: userEmail, completion: nil)
public func report(error: Error, request: Request?, userId: String?, userName: String?, userEmail: String?, lineNumber: Int?, funcName: String?, fileName: String?) throws {
report(error: error, request: request, severity: .error, userId: userId, userName: userName, userEmail: userEmail, lineNumber: lineNumber, funcName: funcName, fileName: fileName, completion: nil)
}


Expand All @@ -48,8 +51,8 @@ public final class Reporter: ReporterType {
self.defaultFilters = defaultFilters
}

public func report(error: Error, request: Request?) {
report(error: error, request: request, severity: .error, userId: nil, userName: nil, userEmail: nil, completion: nil)
public func report(error: Error, request: Request?, lineNumber: Int?, funcName: String?, fileName: String?) {
report(error: error, request: request, severity: .error, userId: nil, userName: nil, userEmail: nil, lineNumber: lineNumber, funcName: funcName, fileName: fileName, completion: nil)
}

public func report(
Expand All @@ -59,6 +62,9 @@ public final class Reporter: ReporterType {
userId: String?,
userName: String?,
userEmail: String?,
lineNumber: Int?,
funcName: String?,
fileName: String?,
completion complete: (() -> ())?
) {
guard let error = error as? AbortError else {
Expand All @@ -67,6 +73,9 @@ public final class Reporter: ReporterType {
metadata: nil,
request: request,
severity: severity,
lineNumber: lineNumber,
funcName: funcName,
fileName: fileName,
userId: userId,
userName: userName,
userEmail: userEmail,
Expand All @@ -88,9 +97,9 @@ public final class Reporter: ReporterType {
metadata: metadata,
request: request,
severity: severity,
lineNumber: nil,
funcName: nil,
fileName: nil,
lineNumber: lineNumber,
funcName: funcName,
fileName: fileName,
userId: userId,
userName: userName,
userEmail: userEmail,
Expand All @@ -105,9 +114,9 @@ public final class Reporter: ReporterType {
metadata: Node?,
request: Request?,
severity: Severity,
lineNumber: Int? = #line,
funcName: String? = #function,
fileName: String? = #file,
lineNumber: Int? = nil,
funcName: String? = nil,
fileName: String? = nil,
userId: String?,
userName: String?,
userEmail: String?,
Expand Down

0 comments on commit 3c2a3b9

Please sign in to comment.