Search Results

Search found 695 results on 28 pages for 'dileep ch'.

Page 15/28 | < Previous Page | 11 12 13 14 15 16 17 18 19 20 21 22  | Next Page >

  • How do I use logback-access in combination with Tomcat 5.5?

    - by mcduke
    I've got several Web apps running on a Tomcat 5.5 server, and I'm working on improving/updating the overall logging system used throughout the system. I already had some success with logback-classic. However, when I try to use logback-access (i.e. access the lbAccessStatus servlet), I get this exception: exception javax.servlet.ServletException: Wrapper cannot find servlet class ch.qos.logback.access.ViewStatusMessagesServlet or a class it depends on org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) ... root cause java.lang.ClassNotFoundException: ch.qos.logback.access.ViewStatusMessagesServlet org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386) ... I have everything set up according to the docs: common/lib: logback-classic-0.9.15.jar logback-core-0.9.15.jar server/lib: logback-access-0.9.15.jar Moving around the libraries doesn't seem to help. logback-classic seems to work fine, it's just logback-access that causes problems.

    Read the article

  • How to parse an XML file using PHP?

    - by Jack
    Here I have a variable 'response' which is obtained by parsing an XML file. $url = 'http://xxxxx.xml'; $ch = curl_init($url); $response = curl_exec($ch); The url structure is as follows - <user> <id>734</id> <name>Peter Parker</name> - <status> <favorited>false</favorited> </status> </user> How to access each bit of info like id,name,favorited from response?

    Read the article

  • The dictionary need to add every word in SpellingMistakes and the line number but it only adds the l

    - by Will Boomsight
    modules import sys import string Importing and reading the files form the Command Prompt Document = open(sys.argv[1],"r") Document = open('Wc.txt', 'r') Document = Document.read().lower() Dictionary = open(sys.argv[2],"r") Dictionary = open('Dict.txt', 'r') Dictionary = Dictionary.read() def Format(Infile): for ch in string.punctuation: Infile = Infile.replace(ch, "") for no in string.digits: Infile = Infile.replace(no, " ") Infile = Infile.lower() return(Infile) def Corrections(Infile, DictWords): Misspelled = set([]) Infile = Infile.split() DictWords = DictWords.splitlines() for word in Infile: if word not in DictWords: Misspelled.add(word) Misspelled = sorted(Misspelled) return (Misspelled) def Linecheck(Infile,ErrorWords): Infile = Infile.split() lineno = 0 Noset = list() for line in Infile: lineno += 1 line = line.split() for word in line: if word == ErrorWords: Noset.append(lineno) sorted(Noset) return(Noset) def addkey(error,linenum): Nodict = {} for line in linenum: Nodict.setdefault(error,[]).append(linenum) return Nodict FormatDoc = Format(Document) SpellingMistakes = Corrections(FormatDoc,Dictionary) alp = str(SpellingMistakes) for word in SpellingMistakes: nSet = str(Linecheck(FormatDoc,word)) nSet = nSet.split() linelist = addkey(word, nSet) print(linelist) # # for word in Nodict.keys(): # Nodict[word].append(line) Prints each incorrect word on a new line

    Read the article

  • QValidator for hex input

    - by Evan Teran
    I have a Qt widget which should only accept a hex string as input. It is very simple to restrict the input characters to [0-9A-Fa-f], but I would like to have it display with a delimiter between "bytes" so for example if the delimiter is a space, and the user types 0011223344 I would like the line edit to display 00 11 22 33 44 Now if the user presses the backspace key 3 times, then I want it to display 00 11 22 3. I almost have what i want, so far there is only one subtle bug involving using the delete key to remove a delimiter. Does anyone have a better way to implement this validator? Here's my code so far: class HexStringValidator : public QValidator { public: HexStringValidator(QObject * parent) : QValidator(parent) {} public: virtual void fixup(QString &input) const { QString temp; int index = 0; // every 2 digits insert a space if they didn't explicitly type one Q_FOREACH(QChar ch, input) { if(std::isxdigit(ch.toAscii())) { if(index != 0 && (index & 1) == 0) { temp += ' '; } temp += ch.toUpper(); ++index; } } input = temp; } virtual State validate(QString &input, int &pos) const { if(!input.isEmpty()) { // TODO: can we detect if the char which was JUST deleted // (if any was deleted) was a space? and special case this? // as to not have the bug in this case? const int char_pos = pos - input.left(pos).count(' '); int chars = 0; fixup(input); pos = 0; while(chars != char_pos) { if(input[pos] != ' ') { ++chars; } ++pos; } // favor the right side of a space if(input[pos] == ' ') { ++pos; } } return QValidator::Acceptable; } }; For now this code is functional enough, but I'd love to have it work 100% as expected. Obviously the ideal would be the just separate the display of the hex string from the actual characters stored in the QLineEdit's internal buffer but I have no idea where to start with that and I imagine is a non-trivial undertaking. In essence, I would like to have a Validator which conforms to this regex: "[0-9A-Fa-f]( [0-9A-Fa-f])*" but I don't want the user to ever have to type a space as delimiter. Likewise, when editing what they types, the spaces should be managed implicitly.

    Read the article

  • ImageMagick and Grails not working

    - by TripWired
    I'm trying to have ImageMagick run from grails to convert some images when I run the command to make an image nothing happens. I get no errors, no information returned nothing at all. I've tried running other commands like touch and ps ux just to see if they work and they all work fine. It just seems like the imagemagick commands are getting lost and I''m not sure what to do. Here is the code I've been working with. String command = CH.config.ImageMagickPath + "/convert -size 40x20 xc:red xc:blue -append -rotate 90 append_rotate.gif" println command command.execute() CH.config.ImageMagickPath is set up to where imagemagick/bin is. I've taken what is shown in println command and run it in a terminal and it works fine. Is there any reason why I can't get IM to work from grails?

    Read the article

  • Using PHP, can I put variables inside of variables?

    - by Rob
    For example, take this code: $ch = curl_init($resultSet['url']."?get0=get0&get1=".$get1."&get2=".$get2."&get3=".$get3); This of course, looks very ugly, and kind of a pain in the ass to read. So my question is, would I be able to use something like this: $allgets ="?act=phptools&host=".$host."&time=".$duration."&port=".$port; $ch = curl_init($resultSet['url'] . $allgets); Very simple question I suppose, but my server is undergoing maintenance, so I can't upload it and test it myself. I suppose a yes or no answer will suffice, but if you have a more efficient way of doing this, that would be even better. :)

    Read the article

  • Forked Function not assigning pointer

    - by Luke Mcneice
    In the code below I have a function int GetTempString(char Query[]); calling it in main works fine. However, when calling the function from a fork the fork hangs (stops running, no errors, no output) before this line: pch = strtok (Query," ,"); the printf shows that the pointer to pch is null. Again this only happens when the fork is executing it. What am I doing doing wrong? int main() { if((Timer =fork())==-1) printf("Timer Fork Failed"); else if(Timer==0) { while(1) { sleep(2); GetTempString("ch 1,2,3,4"); } } else { //CODE GetTempString("ch 1,2,3,4"); } } int GetTempString(char Query[]) { char * pch; printf("DEBUG: '%s'-'%d'\n",Query,pch); pch = strtok (Query," ,");//* PROBLEM HERE* //while loop for strtok... return 1; }

    Read the article

  • Eclipse RCP standalone export problem with Groovy scripts

    - by geejay
    I am trying to export a standalone RCP app using Eclipse 3.5.2. The app has a main pure Java plug-in, and a Java / Groovy plug-in that is used by the main plug-in. When I export the main RCP plug-in using the "Export Wizard", I get compiler errors saying that the Groovy classes cannot be found, e.g ERROR in C:\mysrc\src\ch\calcs\providers\CalcProvider.java (at line 8) import ch.calcs.ArgSet; This plug-in works fine when run from within Eclipse. Any ideas?

    Read the article

  • What is being passed in?

    - by Delirium tremens
    In the code: oneChar :: Char -> Doc oneChar c = case lookup c simpleEscapes of Just r -> text r Nothing | mustEscape c -> hexEscape c | otherwise -> char c where mustEscape c = c < ' ' || c == '\x7f' || c > '\xff' simpleEscapes :: [(Char, String)] simpleEscapes = zipWith ch "\b\n\f\r\t\\\"/" "bnfrt\\\"/" where ch a b = (a, ['\\',b]) r isn't being passed to oneChar. Where does r come from?

    Read the article

  • Console class in java Exception in reading password

    - by satheesh
    Hi, i am trying to use Console class in java. with this code import java.io.Console; public class ConsoleClass { public static void main(String[] args){ Console c=System.console(); char[] pw; pw=c.readPassword("%s","pw :"); for(char ch:pw){ c.format("%c",ch); } c.format("\n"); MyUtility mu =new MyUtility(); while(true){ String name=c.readLine("%s", "input?: "); c.format("output: %s \n",mu.doStuff(name)); } } } class MyUtility{ String doStuff(String arg1){ return "result is " +arg1; } } here i am getting NullPointerException when i tried to run in netbeans but i am not getting any Exception when tried to run in cmd with out netbeans IDE.Why?

    Read the article

  • Is there a way to refactor this javascript/jquery?

    - by whyzee
    switch (options.effect) { case 'h-blinds-fadein': $('.child').each(function (i) { $(this).stop().css({opacity:0}).delay(100 * i).animate({ 'opacity': 1 }, { duration: options.speed, complete: (i !== r * c - 1) || function () { $(this).parent().replaceWith(prev); options.cp.bind('click',{effect: options.effect},options.ch); } }); }); break; case 'h-blinds-fadein-reverse': $('.child').each(function (i) { $(this).stop().css({opacity:0}).delay(100 * (r * c - i)).animate({ 'opacity': 1 }, { duration: options.speed, complete: (i !== 0) || function () { $(this).parent().replaceWith(prev); options.cp.bind('click',{effect: options.effect},options.ch); } }); }); break; ....more cases } I have alot of similiar other cases. One way i could think of is to write functions ? i'm not sure i'm still fairly new to the language

    Read the article

  • usage of 2 charectors in single qoutes in c

    - by user1632141
    #include<stdio.h> int main() { char ch = 'A'; printf("%d\n",'ag'); printf("%d\n",'a'); printf("%d, %d, %d, %d", sizeof(ch), sizeof('a'), sizeof('Ag'), sizeof(3.14f)); return 0; } I used to have many doubts on the output of this question while running on g++ and gcc. But I have cleared almost all the doubts by referring these links: Single and double quotes in C/C++ Single quotes vs. double quotes in C I still need to understand one thing about the output of this question. Can someone please explain the output of printf("%d\n",'ag'); mentioned above in the program. How is it actually stored in the memory? The output for the program on the Linux/GCC platform is: 24935 97 1, 4, 4, 4

    Read the article

  • How to work with PHP abstract?

    - by YumYumYum
    Why would you use such abstract? Does it speed up work or what exactly its for? // file1.php abstract class Search_Adapter_Abstract { private $ch = null; abstract private function __construct() { } abstract public funciton __destruct() { curl_close($this->ch); } abstract public function search($searchString,$offset,$count); } // file2.php include("file1.php"); class abc extends Search_Adapter_Abstract { // Will the curl_close now automatically be closed? } What is the reason of extending abstract here? Makes me confused. What can i get from it now?

    Read the article

  • Java multidimensional array and scanner novice Q

    - by Max
    I'm new to Java and trying to in essence implement a grid with a character, and if the user inputs 'w' 'a' 's' or 'd' the character moves up/down/left/right within the plane. I created a multidimensional array sized 10x10 public static String[][] grid = new String[10][10]; And then just used a for loop to print "*"s in a 10x10 grid, except for grid[a][b] which is equal to character "A" i.e. my thing to be moved around. That seemed to work alright, then I needed to detect the 'wasd' input from the user so I set up a: Scanner in = new Scanner (System.in); while (in.hasNext()) And I had then: String s = in.next(); char ch = s.charAt(0); switch (ch) but I couldn't make this work, and it wasn't because I didn't complete the "switch" statement, I did, I just see it void copying and pasting the entire thing. I'm sure its incredibly easy slight thing I am missing, can you please point it out for me?

    Read the article

  • How do I read UTF-8 characters via a pointer?

    - by Jen
    Suppose I have UTF-8 content stored in memory, how do I read the characters using a pointer? I presume I need to watch for the 8th bit indicating a multi-byte character, but how exactly do I turn the sequence into a valid Unicode character? Also, is wchar_t the proper type to store a single Unicode character? This is what I have in mind: wchar_t readNextChar (char** p) { char ch = *p++; if (ch & 128) { // This is a multi-byte character, what do I do now? // char chNext = *p++; // ... but how do I assemble the Unicode character? ... } ... }

    Read the article

  • C appending char to char*

    - by Ostap Hnatyuk
    So I'm trying to append a char to a char*. For example I have char *word = " "; I also have char ch = 'x'; I do append(word, ch); Using this method.. void append(char* s, char c) { int len = strlen(s); s[len] = c; s[len+1] = '\0'; } It gives me a segmentation fault, and I understand why I suppose. Because s[len] is out of bounds. How do I make it so it works? I need to clear the char* a lot as well, if I were to use something like char word[500]; How would I clear that once it has some characters appended to it? Would the strlen of it always be 500? Thanks in advance.

    Read the article

  • Silverlight User Group of Switzerland (SLUGS)

    - by Laurent Bugnion
    Last Thursday, the Silverlight Firestarter event took place in Redmond, and was streamed live to a large audience worldwide (around 20’000 people). Approximately 30 if them were in Wallisellen near Zurich, in Microsoft Switzerland’s offices. This was not only a great occasion to learn more about the future of Silverlight and to see great demos, but also it was the very first meeting of the Silverlight User Group of Switzerland (SLUGS). Having 30 people for a first meeting was a great success, especially if we consider that it was REALLY cold that night, that it had snowed 20 cm the night before! We all had a good time, and 3 lucky winners went back home with a prize: One LG Optimus 7 Windows Phone and two copies of Silverlight 4 Unleashed. Congratulations to the winners! After the keynote (which went in a whirlwind, shortest 90 minutes ever!), we all had pizza and beverages generously sponsored by the Swiss DPE team, of which not less than 5 guys came to the event! Thanks to Stefano, Ronnie, Sascha, Big Mike and Ken for attending! We decided to have meetings every month. Stay tuned for announcements on when and where the events will take place. We are also in the process of creating various groups online where the attendees can find more information. For instance, I created a group on Flickr where the pictures taken at events will be published. The group is public, and the pictures of the first event are already online! We also have the already known page at http://www.slugs.ch/, check it out. A national group Even though the first event was in Zurich, and that 3 of the founding members live nearby, we would like to try and be a national group. That means having events sometimes in other parts of Switzerland, collaborating with other local user groups, etc. Stay tuned for more Join! We want you, we need you If you are doing Silverlight, for a living or as a hobby, if you are interested in user experience, XAML, Expression Blend and many more topics, you should consider joining! This is a great occasion to exchange experiences, to learn from Silverlight experts, to hear sessions about various topics related to Silverlight, etc. If you want to talk about a topic that is of interest to you, If you want to propose a topic of discussion Or if you just want to hang out then go to http://www.slugs.ch and register! Cheers, Laurent   Laurent Bugnion (GalaSoft) Subscribe | Twitter | Facebook | Flickr | LinkedIn

    Read the article

  • Swiss SQL Server Saturday, Zurich, September 19th

    I am going to be speaking at the first ever SQL Server Saturday in Switzerland this autumn.  This event is taking place on Saturday 19th September in Zurich.  If you want to know more about it or are thinking of coming then head over to www.sqlsaturday.ch Charley has lined up a top list of speakers for this event and I know it is going to be a fun day.

    Read the article

  • Swiss SQL Server Saturday, Zurich, September 19th

    I am going to be speaking at the first ever SQL Server Saturday in Switzerland this autumn.  This event is taking place on Saturday 19th September in Zurich.  If you want to know more about it or are thinking of coming then head over to www.sqlsaturday.ch Charley has lined up a top list of speakers for this event and I know it is going to be a fun day.

    Read the article

  • About MVVM

    - by samkea
    http://csharperimage.jeremylikness.com/ How to make Silverlight datagrid more user friendly.(http://weblogs.asp.net/alexeyzakharov/archive/2009/06/06/silverlight-tips-amp-tricks-make-silverlight-datagrid-be-more-mvvm-friendly.aspx) http://www.galasoft.ch/mvvm/sample1/

    Read the article

  • Emploi : forte hausse du chômage dans l'IT en août, le secteur passe la barre des 34.000 demandeurs d'emplois

    Emploi : forte hausse du chômage dans l'IT En août, le secteur dépasse les 34.000 demandeurs d'emplois C'est une bien mauvaise surprise : il n'y a pas de pénuries dans l'emploi informatique. Au contraire. D'après les derniers chiffres du Ministère du travail, le chômage des professionnels de l'IT a progressé de 4% en août par rapport à juillet - +8.5% par rapport à août 2011 - pour dépasser les 34.000 demandeurs d'emplois. [IMG]http://ftp-developpez.com/gordon-fowler/Ch%C3%B4mage%20ITsmall.png[/IMG] Evolutiondu chômage dans l'IT...

    Read the article

  • Custom Ubuntu 12.04 distro not booting

    - by user1427152
    After following the instructions at: https://help.ubuntu.com/community/LiveCDCustomizationFromScratch; I installed xorg, gdm, and gnome. For some reason when I try to run it on both of my computers and qemu, it freezes up. Sadly I cant access a console to view all my logs, but I do have a dump of the boot process. I can also add and remove packages by ch-rooting into the compressed file-system. DUMP: http://pastebin.com/qRZFAAeM

    Read the article

  • Traceroute, * at first router

    - by Jérôme
    When using traceroute on my mac to check the path to any website, the first line is always 3 stars. imac:~ Jerome$ traceroute google.com traceroute: Warning: google.com has multiple addresses; using 173.194.70.113 traceroute to google.com (173.194.70.113), 64 hops max, 52 byte packets 1 * * * 2 217-168-54-101.static.cablecom.ch (217.168.54.101) 9.515 ms 8.757 ms 10.104 ms 3 172.31.208.73 (172.31.208.73) 14.512 ms 14.605 ms 14.264 ms 4 ch-zrh01b-ra1-ae-1.aorta.net (84.116.134.142) 13.587 ms 12.892 ms 13.936 ms 5 74.125.49.101 (74.125.49.101) 13.966 ms 14.850 ms 14.915 ms 6 72.14.232.120 (72.14.232.120) 26.573 ms 72.14.232.88 (72.14.232.88) 20.072 ms 19.758 ms 7 72.14.236.68 (72.14.236.68) 26.913 ms 72.14.236.20 (72.14.236.20) 26.825 ms 72.14.239.62 (72.14.239.62) 25.381 ms 8 209.85.254.118 (209.85.254.118) 22.240 ms 22.365 ms 209.85.254.112 (209.85.254.112) 24.826 ms 9 * * * 10 fa-in-f113.1e100.net (173.194.70.113) 25.715 ms 26.960 ms 25.191 ms As far as I know, * means no answer from the router. How come I have stars at the very first line ?

    Read the article

  • Mindtouch broke my Apache2 virtual host configuration.

    - by grenade
    I installed mindtouch using the instructions here and it seems to have broken my Virtual Host configuration. I have several domains running off the same apache instance and this was working fine but now all my domain names resolve to the virtualhost where mindtouch was installed. So mindtouch made all my domain names point to the new mindtouch instance. Grrr! I use debians default virtual host mechanisms (sites-enabled, etc). Does anyone know what apache directive mindtouch is using to ruin my vh setup? I've scoured all the conf files and there is nothing obvious in apache2.conf or httpd.conf that would cause the behaviour. Did it create a sym-link somewhere that I should destroy? I should add that I uninstalled the mindtouch packages already but apache persists in redirecting all domains to the first one mentioned in the sites-enabled folder. thini:~# apache2ctl -S [Wed Jan 05 13:39:11 2011] [warn] NameVirtualHost *:80 has no VirtualHosts VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:* www.openancestry.org (/etc/apache2/sites-enabled/openancestry.org:1) *:* www.pragmantra.com (/etc/apache2/sites-enabled/pragmantra.com:1) *:* services.pragmantra.com (/etc/apache2/sites-enabled/services.pragmantra.com:1) *:* www.subversionreports.com (/etc/apache2/sites-enabled/subversionreports.com:1) *:* www.thijssen.ch (/etc/apache2/sites-enabled/thijssen.ch:1) Syntax OK

    Read the article

  • C++ simple logging class with UTF-8 output [code example]

    - by Andrew
    Hello everyone, I was working on one of my academic projects and for the first time I needed pure C++ without GUI. After googling for a while, I did not find any simple and easy to use implementation for logging and created my own. This is a simple implementation with iostreams that logs messages to screen and to the file simultaneously. I was thinking of using templates but then I realized that I do not expect any changes and removed that. It is modified std::wostream with two added modifiers: 1. TimeStamp - prints time-stamp 2. LogMode(LogModes) - switches output: file only, screen only, file+screen. *Boost::utf8_codecvt_facet* is used for UTF-8 output. // ############################################################################ // # Name: MyLog.h # // # Purpose: Logging Class Header # // # Author: Andrew Drach # // # Modified by: <somebody> # // # Created: 03/21/10 # // # SVN-ID: $Id$ # // # Copyright: (c) 2010 Andrew Drach # // # Licence: <license> # // ############################################################################ #ifndef INCLUDED_MYLOG_H #define INCLUDED_MYLOG_H // headers -------------------------------------------------------------------- #include <string> #include <iostream> #include <fstream> #include <exception> #include <boost/program_options/detail/utf8_codecvt_facet.hpp> using namespace std; // definitions ---------------------------------------------------------------- // ---------------------------------------------------------------------------- // DblBuf class // Splits up output stream into two // Inspired by http://wordaligned.org/articles/cpp-streambufs // ---------------------------------------------------------------------------- class DblBuf : public wstreambuf { private: // private member declarations DblBuf(); wstreambuf *bf1; wstreambuf *bf2; virtual int_type overflow(int_type ch) { int_type eof = traits_type::eof(); int_type not_eof = !eof; if ( traits_type::eq_int_type(ch,eof) ) return not_eof; else { char_type ch1 = traits_type::to_char_type(ch); int_type r1( bf1on ? bf1->sputc(ch1) : not_eof ); int_type r2( bf2on ? bf2->sputc(ch1) : not_eof ); return (traits_type::eq_int_type(r1,eof) || traits_type::eq_int_type(r2,eof) ) ? eof : ch; } } virtual int sync() { int r1( bf1on ? bf1->pubsync() : NULL ); int r2( bf2on ? bf2->pubsync() : NULL ); return (r1 == 0 && r2 == 0) ? 0 : -1; } public: // public member declarations explicit DblBuf(wstreambuf *bf1, wstreambuf *bf2) : bf1(bf1), bf2(bf2) { if (bf1) bf1on = true; else bf1on = false; if (bf2) bf2on = true; else bf2on = false; } bool bf1on; bool bf2on; }; // ---------------------------------------------------------------------------- // logstream class // Wrapper for a standard wostream with access to modified buffer // ---------------------------------------------------------------------------- class logstream : public wostream { private: // private member declarations logstream(); public: // public member declarations DblBuf *buf; explicit logstream(wstreambuf *StrBuf, bool isStd = false) : wostream(StrBuf, isStd), buf((DblBuf*)StrBuf) {} }; // ---------------------------------------------------------------------------- // Logging mode Class // ---------------------------------------------------------------------------- enum LogModes{LogToFile=1, LogToScreen, LogToBoth}; class LogMode { private: // private member declarations LogMode(); short mode; public: // public member declarations LogMode(short mode1) : mode(mode1) {} logstream& operator()(logstream &stream1) { switch(mode) { case LogToFile: stream1.buf->bf1on = true; stream1.buf->bf2on = false; break; case LogToScreen: stream1.buf->bf1on = false; stream1.buf->bf2on = true; break; case LogToBoth: stream1.buf->bf1on = true; stream1.buf->bf2on = true; } return stream1; } }; logstream& operator<<(logstream &out, LogMode mode) { return mode(out); } wostream& TimeStamp1(wostream &out1) { time_t time1; struct tm timeinfo; wchar_t timestr[512]; // Get current time and convert it to a string time(&time1); localtime_s (&timeinfo, &time1); wcsftime(timestr, 512,L"[%Y-%b-%d %H:%M:%S %p] ",&timeinfo); return out1 << timestr; } // ---------------------------------------------------------------------------- // MyLog class // Logs events to both file and screen // ---------------------------------------------------------------------------- class MyLog { private: // private member declarations MyLog(); auto_ptr<DblBuf> buf; string mErrorMsg1; string mErrorMsg2; string mErrorMsg3; string mErrorMsg4; public: // public member declarations explicit MyLog(string FileName1, wostream *ScrLog1, locale utf8locale1); ~MyLog(); void NewEvent(wstring str1, bool TimeStamp = true); string FileName; wostream *ScrLog; wofstream File; auto_ptr<logstream> Log; locale utf8locale; }; // ---------------------------------------------------------------------------- // MyLog constructor // ---------------------------------------------------------------------------- MyLog::MyLog(string FileName1, wostream *ScrLog1, locale utf8locale1) : // ctors mErrorMsg1("Failed to open file for application logging! []"), mErrorMsg2("Failed to write BOM! []"), mErrorMsg3("Failed to write to file! []"), mErrorMsg4("Failed to close file! []"), FileName(FileName1), ScrLog(ScrLog1), utf8locale(utf8locale1), File(FileName1.c_str()) { // Adjust error strings mErrorMsg1.insert(mErrorMsg1.length()-1,FileName1); mErrorMsg2.insert(mErrorMsg2.length()-1,FileName1); mErrorMsg3.insert(mErrorMsg3.length()-1,FileName1); mErrorMsg4.insert(mErrorMsg4.length()-1,FileName1); // check for file open errors if ( !File ) throw ofstream::failure(mErrorMsg1); // write UTF-8 BOM File << wchar_t(0xEF) << wchar_t(0xBB) << wchar_t(0xBF); // switch locale to UTF-8 File.imbue(utf8locale); // check for write errors if ( File.bad() ) throw ofstream::failure(mErrorMsg2); buf.reset( new DblBuf(File.rdbuf(),ScrLog->rdbuf()) ); Log.reset( new logstream(&*buf) ); } // ---------------------------------------------------------------------------- // MyLog destructor // ---------------------------------------------------------------------------- MyLog::~MyLog() { *Log << TimeStamp1 << "Log finished." << endl; // clean up objects Log.reset(); buf.reset(); File.close(); // check for file close errors if ( File.bad() ) throw ofstream::failure(mErrorMsg4); } //--------------------------------------------------------------------------- #endif // INCLUDED_MYLOG_H Tested on MSVC 2008, boost 1.42. I do not know if this is the right place to share it. Hope it helps anybody. Feel free to make it better.

    Read the article

< Previous Page | 11 12 13 14 15 16 17 18 19 20 21 22  | Next Page >