Başlığı görünce yardıma ihtiyaç var sanıp yardım etmeye gelmiştim, başlıktan anladığımı anlatayım ilk önce

Api ile laravel bir sisteme bağlanıp , bağlanılan sistemde log dosyası oluşturma işlemi nasıl yapılır ?
Şimdi bu sorunun cevabını anlatayım.
A sitemiz farklı bir script olsun. B sitemiz ise laravel

A sitesinden post yöntemi ile göndermeniz gerekenler şunlar ;
[
'log_level'=>'error/info/success',
'log_message'=>'Bu bir log mesajıdır',
'log_key'=>'asitesidomaini.com.tr'
]
Åžimdi bunu B sitesinde bsitesidomanini.com.tr/api/log/create linkine post ettik.
B sitesinde kurulu olan laravel scriptimize gelip routes/api.php dosyasını açıp şu kodu ekliyoruz.
Route::group(['prefix' => '/log', 'as' => 'log.'], function () {
Route::post('/create', ['as' => "create", 'uses' => "LogController@create"]);
Route::any('/show/{log_key}', ['as' => "show", 'uses' => "LogController@show"]);
});Bunlar bizim rotalarımızdı. Şimdi terminal aracılığıyla php artisan optimize diyerek bir optimize edelim ki rotamız çalışır vaziyete gelsin.
Bu işlemi yaptıktan sonra sıra geldi controllerı oluşturup apiyi yaratmaya başlıyoruz.
Adım 1: terminale "php artisan make:controller Api/LogController" yazıyoruz
Adım 2: app/Http/Controllers/Api/LogController dosyamızı açıp şu fonksiyonları ekliyoruz
public function create(Request $request){
$log_level ='['.date('d-m-Y H:i:s').'] production.'. $request->log_level.': ';
$log_message = '\n'.$request->log_message;
$file_name = $request->log_key;
if (!file_exists(storage_path('logs').'/'.$file_name.'.log')) {
touch(storage_path('logs') . '/' . $file_name . '.log');
}
$file= storage_path('logs') . '/' . $file_name . '.log';
$myfile = fopen($file,'a+');
fwrite($myfile, $log_level.$log_message);
fclose($myfile);
return [
'status'=>true
];
}
public function show($domain){
if (!file_exists(storage_path('logs').'/'.$domain.'.log')) {
return [
'status'=>false
];
}else{
return file_get_contents(storage_path('logs').'/'.$domain.'.log');
}
}Bunları Yaptıktan sonra a sitesinden post attıkça asitedisomain.com şekilinde log dosyası yoksa oluşturacak ve içerisine sizin gönderdiğiniz veriyi yazdıracak.
Peki bunu yaptık datayı nasıl okuyacağız ?
o da çok basit ister post atın istersenizde get ile şu url adresini ziyaret edin.
bsitesidomain.com.tr/api/log/show/asitedomain.com
Vaktim olmadığı için test etmedim aklımda canlanan ilk yöntemi paylaşmak istedim. Belki ihtiyacı olan birine faydası dokunur.
Ve son olarak elinize sağlık
@yazilimdukkanim; hocam beni de ÅŸevklendirdiniz