File write txt log

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Senior DevOps-ontwikkelaar eIDAS

Functie­omschrijving Burgers en bedrijven veilig en betrouwbaar digitaal toegang geven tot diensten en producten van het ministerie van Economische Zaken en Klimaat. Als senior DevOps-ontwikkelaar bouw je daar letterlijk aan mee. En dat doe je bij DICTU: een van de grootste en meest vooruitstrevende ICT-dienstverleners van de Rijksoverheid. Jij werkt mee aan de doorontwikkeling van eIDAS, dat staat voor Electronic IDentification Authentication and trust Services. Deze koppeling maakt de grensoverschrijdende authenticatie op overheidswebsites binnen de Europese Unie mogelijk. Het ministerie van Economische Zaken en Klimaat heeft één moderne toegangspoort voor zijn diensten en inspecties. Enkele daarvan zijn dankzij eIDAS inmiddels

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Jan terhuijzen

jan terhuijzen

04/09/2012 17:09:34
Quote Anchor link
Hallo
Ik heb een class gemaakt om errors in een error log te zetten.
Bij het schrijven van de error in het bestand errors.txt gebruik ik de PHP functie fwrite()
http://php.net/manual/en/function.fwrite.php
Ik heb nu deze class
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?PHP
class Fout {
    public function ErrorLog($error) {
        if(empty($error)) {
        $error = 'Onbekende fout';
        }
else {
        $fp = fopen('errors.txt', 'w');
        fwrite($fp, '['.date('d-m-Y h:i:s').'] '.$error);
        fclose($fp);
        }
    }

    public function ShowError($errorText) {
        echo '<div class="error">';
        echo $errorText;
        echo '</div>';
    }

}

?>


En zo roep ik het aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?PHP

$error
= new Fout();
        $error->ErrorLog('Test');
        $error->ShowError('Er is iets fout gegaan, je kunt het opnieuw proberen');
?>


Het probleem is dat alleen de allereerste error in het bestand wordt gezet.
En als er 1x iets in is gezet werkt het niet meer, er gebeurt dan niks meer.
Op php.net staat juist dat de functie fwrite() de tekst erbij zet en niet de hele tekst doet veranderen.
Ook staat er niet dat die functie maar 1x werkt...

En dan heb ik nog een ander vraagje:

Als ik nou een PHP error wil opvangen en in de error log wil zetten hoe doe ik dat?
Weet iemand een beter script? Dit wat ik nu heb is eigenlijk niet echt een error logger, omdat je zelf instelt wat er in de txt file komt.
Gewijzigd op 04/09/2012 17:11:06 door Jan terhuijzen
 
PHP hulp

PHP hulp

27/09/2020 07:49:30
 
John Berg

John Berg

04/09/2012 17:14:51
Quote Anchor link
in plaats van een file te openen, schrijven en te sluiten kun je gemakkelijker file_put_contents gebruiken. De 2e parameter geeft aan of je aan de bestaande file wil toevoegen, of compleet overschrijven.
 
- SanThe -

- SanThe -

04/09/2012 17:23:03
Quote Anchor link
Quote:
'r' Open for reading only; place the file pointer at the beginning of the file.
'r+' Open for reading and writing; place the file pointer at the beginning of the file.
'w' Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'w+' Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'a' Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
'a+' Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
'x' Create and open for writing only; place the file pointer at the beginning of the file. If the file already exists, the fopen() call will fail by returning FALSE and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL|O_CREAT flags for the underlying open(2) system call.
'x+' Create and open for reading and writing; otherwise it has the same behavior as 'x'.
'c' Open the file for writing only. If the file does not exist, it is created. If it exists, it is neither truncated (as opposed to 'w'), nor the call to this function fails (as is the case with 'x'). The file pointer is positioned on the beginning of the file. This may be useful if it's desired to get an advisory lock (see flock()) before attempting to modify the file, as using 'w' could truncate the file before the lock was obtained (if truncation is desired, ftruncate() can be used after the lock is requested).
'c+' Open the file for reading and writing; otherwise it has the same behavior as 'c'.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/09/2012 17:23:32
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}

set_error_handler("exception_error_handler");
?>

En dan met try .... catch blokken gaan werken
 
Jan terhuijzen

jan terhuijzen

04/09/2012 17:36:52
Quote Anchor link
Heel ingewikkeld vind ik.
Is er geen manier om alle errors op te vangen die anders met error_reporting worden weergegeven?
En dan ook nog eens zodat de errors niet worden weergegeven op het beeldscherm, maar in de txt file worden gezet.
Gewijzigd op 04/09/2012 17:37:03 door jan terhuijzen
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/09/2012 17:48:57
Quote Anchor link
Met set_error_handler, kan je doen wat je wilt met de fouten die via error_reporting worden weergegeven, je kent gewoon een eigen functie toe

Toevoeging op 04/09/2012 17:50:31:

Ik ben zelf een (fatale) uitzondering, dus ik hou er wel van om met exceptions te werken in een try ... catch blok
Gewijzigd op 04/09/2012 17:50:52 door Ger van Steenderen
 
Jan terhuijzen

jan terhuijzen

04/09/2012 17:59:42
Quote Anchor link
Hoe werken exeptions (uitzonderingen)? Wat is een try en catch blok? Ik heb zoiets ook al eens in Javascript gezien.
Gewijzigd op 04/09/2012 18:25:07 door jan terhuijzen
 
Write Down

Write Down

04/09/2012 18:28:43
Quote Anchor link
Bekijk dit eens :-)
 
Wim E

Wim E

04/09/2012 20:57:01
Quote Anchor link
Het domste is om eigen klasse te gaan maken met treffer "Fout". Die fout kan in dat geval alles betekenen. Met behulp van Exceptions kun je over het algemeen zien wat voor fout je te maken hebt. Bijv. NullReferenceException (leeg object verwijzing) of IndexOutOfBoundsException (Index valt buiten array etc.) Hier kun je dus ook een eigen Exception voor maken bijv. JanException wat staat voor iets wat die exception veroorzaakt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.