Stránka 1 z 1

Logování vždy do nového souboru

Napsal: 31. 1. 2011 17.00
od Nalk
Možná to tu někde je... ale může mi někdo poradit, jak zprovoznit ono automatické vytváření nového logu s každým spuštěním EQ?

viewtopic.php?p=40540#40540

Z tohodle jsem to moc nepobral, nemám žádné extra znalosti v programování apod., tak bych ocenil kdyby to někdo napsal na "lama" úrovni. :biggrin:

Napsal: 31. 1. 2011 17.09
od placidity
otevři notepad, napiš tohle

Kód: Vybrat vše

echo ============================ >>logs\zaloha_equilibrie.log 
echo START %date% %time%>>logs\zaloha_equilibrie.log 
echo ============================ >>logs\zaloha_equilibrie.log 

ipconfig /flushdns 
nwmain.exe +connect 81.2.209.14:5121 

type logs\nwclientlog1.txt >> logs\zaloha_equilibrie.log 
echo ============================ >>logs\zaloha_equilibrie.log 
echo KONEC %date% %time% >>logs\zaloha_equilibrie.log 
echo ============================ >>logs\zaloha_equilibrie.log
ulož jako eq.cmd do kořenového adresáře hry (tam kde jsou .exe soubory)

hru spouštěj přes tohle .cmd, a v adresáři /logs budeš mít inkrementální log pojmenovaný zaloha_equilibrie.log

EDIT: jo, samozřejmě musíš mít upravený i config, to je ta první část příspěvku (kterou tu nemám, protože ta je snad doufám jasná :) )

Napsal: 31. 1. 2011 17.10
od drake127

Kód: Vybrat vše

ClientEntireChatWindowLogging=1
ClientChatLogging=1
LogMyEmoteUsage=1
Tohle chceš mít v nwnplayer.ini (krajní dvě položky tam už máš, ale možná na nule, tu prostřední přidej).

Vytvoříš nový textový soubor v adresáři NWN a napíšeš tam tohle (minimalistická verze):

Kód: Vybrat vše

nwmain.exe +connect 81.2.209.14:5121
type logs\nwclientlog1.txt >>logs\equilibrie.log
a uložíš ho jako equilibrie.cmd

Uděláš si odkaz na tenhle soubor na plochu (pravé tl. -> odeslat -> Plocha (zástupce)) a budeš Eq spouštět pomocí něj. Voilà.

Napsal: 31. 1. 2011 17.15
od Nalk
Docela lehké :smile:

Díky

Napsal: 17. 3. 2011 10.42
od Nalk
Tak... jelikož zrovna čistím nechutně dlouhý log... tak bych měl jen dva další dotazy:

1) vše jsem udělal dle návodu zde.… nešlo by ale nějak vychytata, aby se vše nezapisovalo "dvakrát"?
[CHAT WINDOW TEXT] [Thu Mar 17 10:35:42] Van Sar'Ingolmo: nazdar
[Nalkanar] Van Sar'Ingolmo: [Talk] nazdar
[CHAT WINDOW TEXT] [Thu Mar 17 10:35:45] Nico Lane: *kyvne*
[lukasaspire] Nico Lane: [Talk] *kyvne*


2) nějaký super uber rychlý tip jak provádět filtrování logu? :smile:

PS: díval jsem se na ten balík od Romy (pozn. chtěl jsem napsal Romův, ale to znělo divně... a oslovovat hráče Romy jako ženu se mi nechce), že to vše by měl umět, ale když jsem se na to podíval, tak mi vypadly bulvy a radši jsem to vzdal :biggrin:

Napsal: 17. 3. 2011 10.48
od The_Balrog
Já tam tyhle: [lukasaspire] Nico Lane: [Talk] *kyvne* řádky vůbec nemám. Možná to dělá tenhle přepínač: ClientChatLogging=1, ale takhle z práce ti to hned stoprocentně neřeknu :)

Napsal: 17. 3. 2011 10.55
od Nalk
The_Balrog píše:Já tam tyhle: [lukasaspire] Nico Lane: [Talk] *kyvne* řádky vůbec nemám. Možná to dělá tenhle přepínač: ClientChatLogging=1, ale takhle z práce ti to hned stoprocentně neřeknu :)
Jo … ten to byl.… a Drake radil ho zapnout …. hmmm … Draku! ty hade! :biggrin:

Napsal: 17. 3. 2011 11.49
od Roma
Tak víš co... Způsobů jak to odstranit je mnoho ;)

Předně bych (trochu namyšleně :D) doporučoval použít můj scriptík.
Není to vůbec složité jak si myslíš. Pokud nepoužíváš můj spouštěč, tak si jen stáhni:
"Samostatnou úpravu logu 1.0" a spustíš ji dvojklikem na: "Samostatna uprava logu.bat" až tě to vyzve, tak napíšeš název vstupního souboru, výstupního a je to hotový (právě testováno a šlape pěkne i na W7 64b).

A teď k tvému problému...
Máš možnost odstranit buď řádky, které začínají tím "[CHAT WINDOW TEXT]" a nebo ty, co tím nezačínají.
Pro odebrání toho co s "[CHAT WINDOW TEXT]" začíná by to mohlo vypadat nějak takhle:

Kód: Vybrat vše

sed "{ /^$/d; /^\[CHAT WINDOW.*$/d; }" "%~dp1%vstupni_soubor%" >"výstupní soubor"
Pro odebrání tech druhých třeba takto:

Kód: Vybrat vše

sed "{ /^$/d; /^\[CHAT WINDOW.*$/!d; }" "%~dp1%vstupni_soubor%" >"výstupní soubor"

Udělat to můšeš že spustíš třeba sed.exe napřímo v příkazové řádce a nebo otevřeš (třeba v poznámkovém bloku) soubor "Samostatna uprava logu.bat" a řádek 38 - tedy:

Kód: Vybrat vše

sed "/^$/d" "%~dp1%vstupni_soubor%" >"log.txt"
nahradíš za jednu z výše uvedených možností a pak spustíš baťák.

Drak to asi myslel tak, že jsi buď měl dát do ini ClientChatLogging=1 nebo ClientEntireChatWindowLogging=1 - ne obě najednou ;)

A to je vše přátelé :D

EDIT: provedeny nějaké úpravy v textu

Re: Logování vždy do nového souboru

Napsal: 8. 6. 2013 15.02
od placidity
Zombie time!

Nudil jsem se a trochu si pohrál s .cmd skriptem pro ukládání logu, spojil jej se čističem, přidal konverzi screenů z tga do jpg a výsledkem je tohle:

https://www.dropbox.com/s/58ooqczmsunmufe/logger.zip

- Obsah archivu nakopírujte do kořenového adresáře hry
- Hru spouštějte přes EQ.cmd (ideálně si na něj udělejte zástupce na plochu)
- Skript se po spuštění minimalizuje a veškerou práci provádí až po vypnutí nwn, proto jej nikdy nevypínejte ručně
- V adresáři logs budete mít pak soubory zaloha_equilibrie.log a zaloha_equilibrie_cl.log, jeden je kompletní a druhý pročištěný. Obojí je inkrementální
- V adresáři screenshots se vám po každém vypnutí hry vytvoří samostatná složka se screenshoty a archivem, ve kterém jsou původní tga soubory
- Pokud máte v adresáří se screeny hodně souborů, bude prvotní konverze a uložení trvat déle (neděste se, nezavírejte okno skriptu a nechte vše doběhnout)

pro správnou funkci je třeba mít zapnuté logování, a to v souboru nwnplayer.ini, volba ClientEntireChatWindowLogging=1 , která se nachází v sekci [Game Options]

EDIT: Díky Jesperovi za upozornění, že jsem měl přehozen jeden řádek v kódu. Místo hlášky o nezavírání se tím pádem zobrazovalo něco jiného (byť funkčnost jako taková ovlivněna nebyla).

UPDATE 03.07.2014 - konverze screenshotů

UPDATE 15.11.2017 - změna IP adresy serveru

UPDATE 18.3.2020 - Eh, už se mi ten soubor nechce upravovat, tedy:
Pokud si někdo stáhne můj logger, musíte v cmd skriptu upravit adresu serveru dle tohoto postu: viewtopic.php?p=177182#p177182 (případně dle aktuální adresy serveru, pokud bude v budoucnu zase přemigrován jinam)

Re: Logování vždy do nového souboru

Napsal: 8. 6. 2013 17.04
od Nalk
Nechci shazovat tvojí snahu, ale víš, že na webu je logovač od Romy, který defakto dělá to samé, né-li více?

Re: Logování vždy do nového souboru

Napsal: 8. 6. 2013 17.26
od placidity
Ano, ale mně to vyhovuje takto. Nepotřebuju "více". Postnul jsem to sem pouze proto, že někomu dalšímu může přijít tahle konkrétní aplikace také vhod.

Re: Logování vždy do nového souboru

Napsal: 8. 6. 2013 18.41
od Ungo
Já jsem tohle, narozdíl od spouštěče, rozchodil. Takže za mne díky

Re: Logování vždy do nového souboru

Napsal: 2. 2. 2014 12.29
od placidity
Braaains...

Jesper si všiml, že já si nevšiml, že byla přehozená jedna hlášku v kódu. Takže nahrána opravená verze. Původní je (byla) samozřejmě zcela funkční, jen ve stavovém okně zobrazovala nesmysly ;)

Re: Logování vždy do nového souboru

Napsal: 15. 11. 2017 22.11
od placidity
V mojem loggeru výše upravena IP adresa dle nového nastavení serveru.

Re: Logování vždy do nového souboru

Napsal: 24. 4. 2021 11.32
od placidity
Velký update launcheru

Instalace:
  • Obsah složky NWN z archivu nakopírujte do kořenového adresáře hry
  • Hru spouštějte přes EQ.cmd (ideálně si na něj udělejte zástupce na plochu)
  • Skript se po spuštění minimalizuje a veškerou práci provádí až po vypnutí nwn, proto jej nikdy nevypínejte ručně
  • V adresáři logs budete mít pak soubory zaloha_equilibrie.log a zaloha_equilibrie_cl.log, jeden je kompletní a druhý pročištěný. Obojí je inkrementální
  • V adresáři screenshots se vám po každém vypnutí hry vytvoří samostatná složka se screenshoty a archivem, ve kterém jsou původní tga soubory
  • Pokud máte v adresáří se screeny hodně souborů, bude prvotní konverze a uložení trvat déle (neděste se, nezavírejte okno skriptu a nechte vše doběhnout)
!!! POZOR !!! - pro správnou funkci je třeba mít zapnuté logování, a to v souboru nwnplayer.ini, volba ClientEntireChatWindowLogging=1 , která se nachází v sekci [Game Options]

Co to aktuálně umí:
  • automaticky se připojit na EQ server
  • zálohovat a pročistit logy od balastu
  • konvertovat screenshoty z tga na jpeg
  • volitelně pouštět bojový log postavy v powershellu
  • volitelně discord rich presence (návod: https://www.reddit.com/r/discordapp/com … sence_for/)
  • volitelně s dalším nastavením na straně windows přeskočit UAC kontrolu při pouštění nwn

Nastavení:

EQ.cmd
Nastavení je formou přepínačů přímo v souboru, bližší popis tamtéž

Kód: Vybrat vše

:: nastaveni jednotlivych funkci
:: 0 = vypnuto
:: 1 = zapnuto
SET /A var_discord = 0
SET /A var_parser = 0
SET /A var_parser_kill = 0
SET /A var_log = 1
SET /A var_screenshot = 1
logs/Parser.ps1
Musíte zadat pouze jména své postavy, bližší popis je opět přímo v souboru

Kód: Vybrat vše

# ZDE NASLEDUJI PROMENNE, KTERE MUSITE ZMENIT PRO SPRAVNOU FUNKCI!!!
#
# jmeno vasi postavy - pokud ma viceslovne jmeno, staci jen prvni slovo pripadne jeho zacatek (kdyz v nem mate diakritiku nebo jine divne znaky treba a skript by nefungoval)
$charname = "Alariel"
#
# v pripade viceslovneho jmena jej lze pokratit - zadejte sem zbytek jmena postavy, ktery nechcete v logu videt
$delname = "Erna"
#
Bonus - vypnutí UAC při pouštění NWN
Pokud vás otravuje, že musíte pokaždé při puštění hry odklikat UAC hlášky, tak níže je návod ja se toho zbavit.
V launcheru už je udělaná příprava (viz kód níže jak bude vypadat finální vzhled) - stačí jen přehodit komentáře (dvojité dvojtečky na začátku)

Kód: Vybrat vše

:: pusteni nwn
C:\Windows\System32\schtasks.exe /RUN /TN "UAC Whitelist\Equilibrie"
::start nwmain.exe +connect server.equilibrie.cz:5121
!!! Nejdříve si ale musíte správně udělat nový task v plánovači úloh (viz postup na screenu - okno "spustit" vyvoláte pomocí win+r - a pozor na správné cesty, ty musíte samozřejmě zadat podle toho, kde máte nwn nainstalované vy)
navod.png
navod.png (102.45 KiB) Zobrazeno 3079 x

Re: Logování vždy do nového souboru

Napsal: 23. 8. 2021 21.00
od placidity
Launcher pro EE
eq_launcher.zip
(1.77 MiB) Staženo 129 x
...je v podstatě stejný jako pro Diamond, jen je potřeba dát jej jinam a zadat cestu k binárce. Takže:

Ve EE mějte zapnuté nastavení "game log chat all"

Obsah archivu nově patří do adresáře Dokumenty/Neverwinter Nights
(pokud se vám vyextrahuje i složka NWN, tak do daného adresáře patří obsah složky NWN)

Nenahrávejte nic přímo do adresáře s instalací hry!

v EQ.cmd je pak potřeba zapsat cestu k nwmain.exe do vars. U mě to vypadá takto, u vás bude nejspíš jinde (třeba v program files, musíte se podívat - a je jedno jestli jde o gog nebo steam verzi, nakonec musíte skončit v adresáři win32)
SET var_path="C:\Games\Steam\steamapps\common\Neverwinter Nights\bin\win32"