I need to cron job log in sentry using laravel
Call sentry log method:
$this->sentryCronJobLog([
'affected_rows'=> $affectedRows,
'status' => 'success'
]);
this method to logged in sentry:
public function sentryCronJobLog($data){
if (app()->bound('sentry')) {
\Sentry\configureScope(function (Scope $scope)use ($data): void {
$scope->setTag('status', $data['status']);
$scope->setTag('affected_rows', $data['affected_rows']);
$scope->setTag('time',\Carbon\Carbon::now()->format('Y-m-d h:i a'));
});
}
}
In this way, I have unable to create a log in sentry Performance.
Just Add one line into sentryCronJobLog() function
$transactionContext = new \Sentry\Tracing\TransactionContext();
$transactionContext->setName('Cron job -'.$data['command_name']);
$transactionContext->setOp('command.run');
$transaction = \Sentry\startTransaction($transactionContext);
$transaction->finish();
It's work for me
public function sentryCronJobLog($data){
if (app()->bound('sentry')) {
\Sentry\configureScope(function (Scope $scope)use ($data): void {
$scope->setTag('status', $data['status']);
$scope->setTag('affected_rows', $data['affected_rows']);
$scope->setTag('time',\Carbon\Carbon::now()->format('Y-m-d h:i a'));
$transactionContext = new \Sentry\Tracing\TransactionContext();
$transactionContext->setName('Cron job - .$data['command_name']);
$transactionContext->setOp('command.run');
$transaction = \Sentry\startTransaction($transactionContext);
$transaction->finish();
});
}
}